dgesv (1)
DESCRIPTION
Contains the code to solve heat equation in 1 d and this type of code is generally used in fortran software and it makes the coding shorter and easier to run and less time consuming................................................................................................................TRANSCRIPT
7/21/2019 dgesv (1)
http://slidepdf.com/reader/full/dgesv-1 1/1
INTEGER N,NRHSPARAMETER (N=5,NRHS=3)INTEGER LDA,LDBPARAMETER (LDA=N,LDB=N)
INTEGER INFOINTEGER IPIV(N)DOUBLE PRECISION A (LDA,N),B(LDB,NRHS)
EXTERNAL DGESVEXTERNAL PRINT_MATRIX,PRINT_INT_VECTORWRITE (*,*) 'DGESV EXAMPLE PROGRAM RESULTS'
CALL DGESV (N,NRHS,A,LDA,IPIV,B,LDB,INFO)IF (INFO.GT.0) then WRITE (*,*) 'THE DIAGNOL ELEMENT OF THE TRIANGULAR FACTOR OF A,' WRITE (*,*) 'U(',INFO,',',INFO,')IS ZERO, SO THAT' WRITE (*,*) 'A IS SINGULAR;THE SOLUTION COULD NOT BE COMPUTED.' stop END if
CALL PRINT_MATRIX('SOLUTION',N,NRHS,B,LDB) CALL PRINT_MATRIX('DETAILS OF LU FACTORIZATION',N,N,A,LDA) CALL PRINT_INT_VECTOR ('PIVOT INDICES',N,IPIV)
stop end
SUBROUTINE PRINT_MATRIX (DESC,M,N,A,LDA) CHARACTER *(*) DESC INTEGER M,N,LDA DOUBLE PRECISION A(LDA,*)
INTEGER I,J WRITE (*,*) WRITE (*,*) DESC DO I=1,M WRITE (*,9998) (A(I,J),J=1,N)
END do 9998 FORMAT (11(:1X,F6.2)) return END SUBROUTINE PRINT_INT_VECTOR (DESC,N,A) CHARACTER *(*) DESC INTEGER N INTEGER A(N) INTEGER I
WRITE (*,*) WRITE (*,*) DESC WRITE (*,9999) (A(I),I=1,N)
9999 FORMAT (11(:,1X,I6)) return end