FORTRAN77 Function To Calculate Matrix Determinant
FORTRAN77 Function To Calculate Matrix Determinant
C Passed parameters:
C A = the matrix
C N = dimension of the square matrix
DO I=1,N
DO J=1,N
ELEM(I,J)=A(I,J)
END DO
END DO
DETEXISTS = .TRUE.
L = 1
!CONVERT TO UPPER TRIANGULAR FORM
DO K = 1, N-1
IF (DABS(ELEM(K,K)).LE.1.0D-20) THEN
DETEXISTS = .FALSE.
DO I = K+1, N
IF (ELEM(I,K).NE.0.0) THEN
DO J = 1, N
TEMP = ELEM(I,J)
ELEM(I,J)= ELEM(K,J)
ELEM(K,J) = TEMP
END DO
DETEXISTS = .TRUE.
L=-L
EXIT
END IF
END DO
IF (DETEXISTS .EQV. .FALSE.) THEN
GETDET = 0
RETURN
END IF
END IF
DO J = K+1, N
M = ELEM(J,K)/ELEM(K,K)
DO I = K+1, N
ELEM(J,I) = ELEM(J,I) - M*ELEM(K,I)
END DO
END DO
-1-
E:\GETDET.F Thursday, January 13, 2011 6:54 PM
END DO
END
-2-