C Iwannou Spyros,Kontopodhs Dhmhtrhs PROGRAM EROTISI 1 REAL M1,A(3,3),D(4,4),B(3),WORK(3),WORK1(4),COND,TEST,RNORM,ANORM REAL A1(3,3),R(3,3) INTEGER IPVT(3),IPVT1(4),N, NDIM, I, J NDIM=3 N=3 DATA ((A(I,J),I=1,3),J=1,3)/5.,-1.5,2.5,-3.5,1.,-0.5,0.,3.,2.5/ DATA ((A1(I,J),I=1,3),J=1,3)/5.,-1.5,2.5,-3.5,1.,-0.5,0.,3.,2.5/ DATA (B(I),I=1,3)/3.5,2.,3./ DATA ((D(I,J),I=1,4),J=1,4)/-1.,0.,4.,7.,2.,0.,-3.,1.,-12., a -11.,-9.,6.,15.,11.,7.,3./ CALL DECOMP(NDIM,N,A,COND,IPVT,WORK) TEST=COND+1 IF (COND.EQ.TEST) THEN PAUSE 'PINAKAS MH ANTISTREPSIMOS' STOP ENDIF CALL SOLVE(NDIM,N,A,B,IPVT) 2 FORMAT('X',I1,'=',F8.3) DO 5 I=1,N WRITE(6,2) I, B(I) 5 CONTINUE PAUSE 'PATHSTE RETURN GIA UPOLOGISMO M1' CALL INVERT(A1,R,N,NDIM) CALL NORM(A1,ANORM) CALL NORM(R,RNORM) M1=RNORM*ANORM 30 FORMAT('TO M1 EINAI:M1=',F10.5) WRITE(6,30) M1 S=((M1-COND)/M1)*100 32 FORMAT('COND=',F18.5) 33 FORMAT('TO Sxetiko Sfalma S=',F9.3,'%') WRITE(6,32) COND WRITE(6,33) S PAUSE 'PATHSTE RETURN GIA TON UPOLOGISMO TOU D' NDIM=4 N=4 CALL DECOMP(NDIM,N,D,COND,IPVT1,WORK1) WRITE(6,32) COND STOP END SUBROUTINE NORM(A,ANORM) REAL A(3,3), ANORM,T ANORM=0.0 DO 45 J=1,3 T=0.0 DO 40 I=1,3 T=T+ABS(A(I,J)) 40 CONTINUE IF (T.GT.ANORM) ANORM=T 45 CONTINUE RETURN END SUBROUTINE INVERT(A,R,N,NDIM) INTEGER N,IPVT(N),I,J,NDIM REAL R(NDIM,N),A(NDIM,N),WORK(N),COND,T(N,N),M(N) DO 48 J=1,N DO 48 I=1,N T(I,J)=A(I,J) 48 CONTINUE CALL DECOMP(NDIM,N,A,COND,IPVT,WORK) IF ((COND+1).EQ.COND) THEN WRITE(6,*) 'PINAKAS MH ANTISTREPSIMOS,PROBLHMA STHN KLHSH INVERT' RETURN ENDIF DO 60 J=1,N DO 50 I=1,N IF (I .EQ. J) THEN M(I)=1 ELSE M(I)=0 ENDIF 50 CONTINUE CALL SOLVE(NDIM,N,A,M,IPVT) DO 55 I=1,N R(I,J)=M(I) 55 CONTINUE 60 CONTINUE DO 70 J=1,N DO 70 I=1,N C Epanaferei ton A pou prohgoumenws eixe krathsei ston pinaka T A(I,J)=T(I,J) 70 CONTINUE RETURN END