iplnu4
C IPLNU4 SOURCE BP208322 21/01/28 21:15:13 10868 c c fonction c Cette routine sert à resoudre un systeme lineaire non symmetrqiue c par la methode LU ( cf Numerical recipes in fortran 2nd edition) c la matrice a ete decomposé par iplnu3 sous la forme LU c c variables c a (E) est un tableau nXn dont les npXnp 1er membre contienne la c matrice c indx (S) est un tableau de dimension n qui contiendra une tableau c d'indice de permuation c b (E/S) contient en entree le second membre c'est un tableau de c dim n. en sortie il contient la valeurs des inconnues c c date 18/07/94 c c langage fortran pur c IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) C SEGMENT MA C ce segment contient la matrice du syteme lineaire C a contient les termes et indx contient les indice de permutation C une fois la decomposition effectué REAL*8 A,D INTEGER INDX DIMENSION A(ILONG,*) DIMENSION INDX(*) C ENDSEGMENT C SEGMENT MB REAL*8 B DIMENSION B(ILONG,*) C ENDSEGMENT N = ILONG II=0 DO 12 I=1,N LL=INDX(I) SUM=B(LL,k) B(LL,K)=B(I,K) IF (II.NE.0)THEN DO 11 J=II,I-1 SUM=SUM-A(I,J)*B(J,K) 11 CONTINUE ELSE IF (SUM.NE.0.) THEN II=I ENDIF B(I,K)=SUM 12 CONTINUE DO 14 I=N,1,-1 SUM=B(I,K) IF(I.LT.N)THEN DO 13 J=I+1,N SUM=SUM-A(I,J)*B(J,K) 13 CONTINUE ENDIF B(I,K)=SUM/A(I,I) 14 CONTINUE RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales