------------------------------------------------------------------------------- NASHLIB CONTENT 03/09/89 ------------------------------------------------------------------------------- The following is a list of the subprograms from NASHLIB. Subprogram names refer to the algorithm number given in the book "Compact Numerical Methods for Computers: Linear Algebra and Function Minimisation," J. C. Nash, John Wiley, NY, 1979. Name A1A2: Algorithms A1SVD and A2LSVD and main program showing their use. Pages 30-34. Compute singular value decomposition and use it to solve linear least squares problem. This module has GAMS classifications D6 and D9a1. CALL A1SVD(M,N,A,NA,EPS,V,NV,Z,IPR) CALL A2LSVD(M,N,A,NA,EPS,V,NV,Z,IPR,Y,G,X,Q,ESVD,NTOL) A3: Algoritm A3GR and main program showing its use. Pages 42-43. Givens reduction of a real rectangular matrix. This module has GAMS classification D5. CALL A3GR(M,N,A,NA,Q,NQ,EPS,SAVEQ) A4A4A: Algorithms A4A and A4LSGS and main program showing their use. Pages 47-49. Givens reduction, singular value decomposition and and application to solve a linear least squares problem. This module has GAMS classifications D6 and D9a1. CALL A4LSGS(W,ND1,N1,NG,N,H,G,X,Z,IPR,NOBS,EPS,QTOL,NTOL) CALL ROTN(J,K,S,C,M,T,W,N1,NG) A5A6: Algorithms A5GE and A6BS and main program showing their use. Pages 62-63. Perform gaussian elimation with partial pivoting on a general system of linear equations. This module has GAMS classification D2a1. CALL A5GE(A,NA,N,NP,D,TOL) CALL A6BS(A,NA,N,NP) A7A8: Algorithms A7CH and A8CS and main program showing their use. Pages 74-75. Use Choleski algorithm to solve a symmetric system of linear equations. This module has GAMS classification D2b1b. CALL A7CH(A,N2,N,INDEF) CALL A8CS(A,N2,X,N) A9: Algorithm A9GJ and main program showing their use. Page 84. Use modification of Gauss Jordan algorithm to perform the Bauer Reinsch inversion of positive definite symmetric matrix. This module has GAMS classification D2b1b. CALL A9GJ(A,N2,N,INDEF,X) A10: Algorithm A10GII and main program showing its use. Pages 90-91. Use inverse integration via gaussian elimination. This module has GAMS classification D4a2. CALL A10GII(W,NW,N,N2,X,Y,SHIFT,EPS,LIMIT,EV,IPR) A11A12: Algorithms A11VS and A12CVR and main program showing their use. Pages 94-95. To standardize a complex vector and compute the residuals of a complex eigenvalue and eigenvector. This module has GAMS classification D4a2. CALL A11VS(N,X,Y,VNORM) CALL A12CVR(N,X,Y,A,NA,Z,NZ,E,F,U,V) A13: Algorithm A13ESV and main program showing its use. Pages 101-103. Use the singular value decomposition to find the eigenvalues and eigenvectors of a real symmetric matrix. This module has GAMS classification D4a1. CALL A13ESV(N,A,NA,EPS,H,ISWP,IPR,Z) A14A15: Algorithms A14JE and A15GSE and main program showing their use. Pages 106-115. Use the Jacobi algorithm to find the eigenvalues and eigenvectors of a real symmetric matrix. Use the Jacobi algorithm to solve the generalized eigenvalue problem for real symmetric matrices. This module has GAMS classifications D4a1 and D4b1. CALL A14JE(N,A,NA,V,NV,ISWP,IPR,SETV,COMV) CALL A15GSE(N,A,NA,B,NB,V,NV,FAIL,ISWP,IPR) A16: Algorithm A16GS and main program showing its use. Page 125. Perform a grid or equal-interval line search. This module has GAMS classification G1a2. CALL A16GS(U,V,N,FNS,IFN,TOL,IPR,T,VAL) A17: Algorithm A17LS and main program showing its use. Pages 117-118. Perform a line search using parabolic inverse interpolation. This module has GAMS classifications G1a1a and G1a2. CALL A17LS(B,ST,FUNS,IFN,NOCOM,IPR) A18: Algorithm A18RF and main program showing its use. Pages 136-137. Perform root finding using false position and bisection. This module has GAMS classification F1b. CALL A18RF(U,V,COUNT,NBIS,FUN,TOL,NOCOM,IPR) A19A20: Algorithms A19NM and A20AS and main program showing their use. Pages 146-149. Use Nelder Mead algorithm and axial search to find minimum of n variable function. This module has GAMS classification G1b2. CALL A19NM(N,B,X,NX,NX2,NOCOM,IFN,VL,FUN,STEP,IPR) CALL A20AS(N,B,FUN,P0,P,E,COUNT,IPR) A21: Algorithm A21VM and main program showing its use. Pages 159-160. Use variable metric algorithm to find minimum of n variable function. This module has GAMS classification G1b1b. CALL A21VM(N,B,BH,NBH,X,C,G,T,IFN,IG,NOCOM,IPR,P0,FUN,DER) A22: Algorithm A22CGM and main program showing its use. Pages 165-167. Use conjugate gradient algorithm to find minimum of n variable function. This module has GAMS classification G1b1b. CALL A22CGM(N,B,FUN,DER,NOCOM,IPR,IFN,IG,EPS,G,X,T,C,P0) A23: Algorithm A23MRT and main program showing its use. Pages 175-177. Use Marquardt algorithm to find minimum of a sum of squares (nonlinar least squares). This module has GAMS classification K1b1a2. CALL A23MRT(N,B,M,TOL,A,C,N2,X,V,D,RES,DRES,NOCOM,P0,IFN,IG,F,IPR) A24: Algorithm A24CG and main program showing its use. Pages 197-198. Use conjugate gradient algorithm to find the solution of a set of linear equations wiht nonnegative definite coefficient matrix. This module has GAMS classification D2b1b. CALL A24CG(N,B,C,TOL,G,IPR,APR,V,T,IMULT) A25: Algorithm A25RQM and main program showing its use. Pages 206-207. Use the conjugate gradient algorithm to find the minimum of a Rayleigh quotient. This module has GAMS classification D4a1. CALL A25RQM(N,X,EPS,APR,BPR,KPR,Y,Z,T,G,A,B,P0,IPR)