NLSL
eprls.f90 File Reference

Go to the source code of this file.

Functions/Subroutines

subroutine eprls (icalc, al, be, bss, iprune, spectr, nft, ndone, ierr)
 Subroutine version of EPRLL family of programs by D. Schneider. This routine is intended for use with nonlinear least-squares applications. The routine calculates the tridiagonal matrix for the parameters passed in the fparm and iparm arrays using the Conjugate Gradients version of the Lanczos algorithm. More...
 

Function/Subroutine Documentation

subroutine eprls ( integer  icalc,
double complex, dimension(mxdim)  al,
double complex, dimension(mxdim)  be,
integer, dimension(5,mxdim)  bss,
integer  iprune,
double precision, dimension(*)  spectr,
integer  nft,
integer  ndone,
integer  ierr 
)

Subroutine version of EPRLL family of programs by D. Schneider. This routine is intended for use with nonlinear least-squares applications. The routine calculates the tridiagonal matrix for the parameters passed in the fparm and iparm arrays using the Conjugate Gradients version of the Lanczos algorithm.

Calculation parameters are input in the arrays fparm and iparm. They are expected in the same order as that found in common /eprprm/. The input flag icalc is specified as a three-digit number ijk, where

            j.ne.0  => Perform matrix and CG calculations (matrll/cscg) 
            k.ne.0  => Perform starting vector and CG calculations (stvect/cscg)

The continued-fractions calculation is always performed.

Parameters
al(ndone)Diagonal of tridiagonal matrix for spectrum
be(ndone)Off-diagonal of tridiagonal matrix for spectrum
ndoneNumber of CG steps taken. Zero for Lanczos calculations, and set negative if CG did not converge
ierrError flag. Meaning of values assigned to ierr are defined in 'errmsg.inc'.

Written by DEB, 26-Sep-91 based on programs from DJS

Definition at line 44 of file eprls.f90.

Here is the call graph for this function:

Here is the caller graph for this function: