SUBROUTINE DLINRG(N,A,LDA,AINV,LDAINV) IMPLICIT DOUBLE PRECISION(A-H,O-Z) parameter(ldiscr=10000) common/iscrb/iscrb(ldiscr) parameter(ldd1scr=10000) common/dscrb/d1scrb(ldd1scr) DIMENSION A(LDA,*),AINV(LDAINV,*) if(n.gt.ldiscr) go to 100 if(n.gt.ldd1scr) go to 150 DO 10 I=1,N DO 20 J=1,N AINV(I,J)=A(I,J) 20 CONTINUE 10 CONTINUE CALL DGETRF(N,N,AINV,LDAINV,iscrb,INFO) CALL DGETRI(N,AINV,LDAINV,iscrb,d1scrb,ldd1scr,INFO) return 100 call err(n,'ldiscr','iscrblk') return 150 call err(n,'ldd1scr','d1scrblk') RETURN END