FORTRAN77 Subroutine to calculate matrix determinant

1
E:\MATDET.F Monday, January 03, 2011 12:36 PM C ********************************************************************** SUBROUTINE MATDET(N,A,DET) C DOWNLOAD URL: http://wp.me/p61TQ-zb C LAST MODIFIED: 2011/01/03 C A GENERAL PURPOSE SUBROUTINE TO CALCULATE DETERMINANT OF A SQUARE MATRIX C a b c C A = d e f C g h i C det A = aei+bfg+cdh-afh-bdi-ceg C EXPLANATION OF PASSED PARAMETERS: C N: DIMENSION OF SQUARE MATRIX C A: A SQUARE MATRIX C DET: DETERMINANT OF MATRIX A[N,N] IMPLICIT REAL*8 (A-H,O-Z) DIMENSION A(N,N),B(N,2*N-1) DO I=1,N DO J=1,N B(I,J)=A(I,J) END DO END DO DO I=1,N DO J=1,N-1 B(I,J+N)=A(I,J) END DO END DO IQ=0 XX1=1.0D0 XX2=0.0D0 DO I=1,N XX1=1.0D0 DO J=1,N XX1=XX1*B(J,J+IQ) END DO XX2=XX2+XX1 IQ=IQ+1 END DO IQ=0 YY1=1.0D0 YY2=0.0D0 DO I=1,N YY1=1.0D0 IQ=I+N-1 DO J=1,N YY1=YY1*B(J,IQ) IQ=IQ-1 END DO YY2=YY2+YY1 END DO DET=XX2-YY2 RETURN END C ********************************************************************** -1-

Transcript of FORTRAN77 Subroutine to calculate matrix determinant

Page 1: FORTRAN77 Subroutine to calculate matrix determinant

E:\MATDET.F Monday, January 03, 2011 12:36 PM

C **********************************************************************SUBROUTINE MATDET(N,A,DET)

C DOWNLOAD URL: http://wp.me/p61TQ-zbC LAST MODIFIED: 2011/01/03C A GENERAL PURPOSE SUBROUTINE TO CALCULATE DETERMINANT OF A SQUARE MATRIXC a b cC A = d e fC g h iC det A = aei+bfg+cdh-afh-bdi-cegC EXPLANATION OF PASSED PARAMETERS:C N: DIMENSION OF SQUARE MATRIXC A: A SQUARE MATRIXC DET: DETERMINANT OF MATRIX A[N,N]

IMPLICIT REAL*8 (A-H,O-Z)DIMENSION A(N,N),B(N,2*N-1)

DO I=1,NDO J=1,NB(I,J)=A(I,J)END DOEND DO

DO I=1,NDO J=1,N-1B(I,J+N)=A(I,J)END DOEND DO

IQ=0XX1=1.0D0XX2=0.0D0DO I=1,NXX1=1.0D0

DO J=1,NXX1=XX1*B(J,J+IQ)END DOXX2=XX2+XX1IQ=IQ+1END DO

IQ=0YY1=1.0D0YY2=0.0D0DO I=1,NYY1=1.0D0IQ=I+N-1

DO J=1,NYY1=YY1*B(J,IQ)IQ=IQ-1END DOYY2=YY2+YY1END DO

DET=XX2-YY2RETURNEND

C **********************************************************************

-1-