| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| double precision | :: | A(N,N) | ||||
| integer | :: | N | ||||
| integer | :: | INDX(N) | ||||
| double precision | :: | B(N) |
Subroutine LUBKSB(A,N,INDX,B) double precision :: SUM, A(N,N),B(N) INTEGER :: INDX(N), N ! .. local .. integer :: II, LL, I, J II = 0 DO I=1,N LL = INDX(I) SUM = B(LL) B(LL) = B(I) IF(II.NE.0) THEN DO J=II,I-1 SUM = SUM - A(I,J)*B(J) END DO ! j loop ELSE IF(SUM.NE.0.d0) THEN II = I END IF B(I) = SUM END DO ! i loop DO I=N,1,-1 SUM = B(I) IF(I < N) THEN DO J=I+1,N SUM = SUM - A(I,J)*B(J) END DO ! j loop END IF B(I) = SUM / A(I,I) END DO ! i loop RETURN END subroutine LUBKSB