DQED
Bounded Constrained Least Squares/Nonlinear Equations
Double precision version
DQED is a FORTRAN77 library, using double precision arithmetic,
that solves (square) systems of nonlinear equations, or minimizes the
residual in a set of nonlinear equations, using least squares.
The user may include simple bounds or linear constraints on variables.
DQED can solve, in the least squares sense, systems of linear
or nonlinear equations, with inequality bounds or equality constraints.
DQED was written by Richard Hanson and Fred Krogh of Sandia
National Laboratory.
The original FORTRAN77 source code is available through NETLIB at
http://www.netlib.org/opt/dqed.f.
Related Data and Programs:
DQED is also available in
a FORTRAN90 version.
NL2SOL
is a FORTRAN90 library which implements an
adaptive nonlinear least-squares algorithm.
PRAXIS
is a FORTRAN90 routine for the minimization of a scalar
function of several variables.
MINPACK
is a library of FORTRAN90 routines for the solution of systems
of nonlinear equations, or the least squares minimization of the
residual of a set of linear or nonlinear equations.
TEST_OPT
is a library of FORTRAN90 routines which define test problems
requiring the minimization of a scalar function of several variables.
TOMS611
is a FORTRAN90 library
can be used to seek the minimizer of a scalar functional
of multiple variables.
XERROR
is a FORTRAN90 error message library used by DQED.
Reference:
-
Jack Dongarra, Jim Bunch, Cleve Moler, Pete Stewart,
LINPACK User's Guide,
SIAM, 1979,
ISBN13: 978-0-898711-72-1,
LC: QA214.L56.
-
Richard Hanson,
Least Squares with Bounds and Linear Constraints,
SIAM Journal of Scientific and Statistical Computing,
Volume 7, number 3, July 1986, pages 826-834.
-
Ron Jones, David Kahaner,
XERROR, The SLATEC Error Handling Package,
Technical Report SAND82-0800,
Sandia National Laboratories, 1982.
-
Ron Jones, David Kahaner,
XERROR, The SLATEC Error Handling Package,
Software: Practice and Experience,
Volume 13, Number 3, 1983, pages 251-257.
-
Charles Lawson, Richard Hanson, David Kincaid, Fred Krogh,
Algorithm 539:
Basic Linear Algebra Subprograms for Fortran Usage,
ACM Transactions on Mathematical Software,
Volume 5, Number 3, September 1979, pages 308-323.
-
Robert Schnabel, Paul Frank,
Tensor Methods for Nonlinear Equations,
SIAM Journal on Numerical Analysis,
Volume 21, Number 5, October 1984, pages 815-843.
-
dqed.txt, some online documentation.
Source Code:
-
dqed.f, the source code.
-
dqed.csh, commands to compile the source code.
Examples and Tests:
Problem 1 tries to fit data for a model of the heart. Several
datasets are examined, exact and approximate jacobians are
compared, and two equations are tried as constraints instead
of equations. Files you may copy include:
Problem 5 shows how, if the nonlinear constrained system to be solved
is actually a LINEAR constrained system, the user may call the DBOLS routine
directly.
List of Routines:
-
DIFCEN estimates a jacobian using central differences.
-
DIFFOR estimates a jacobian using forward differences.
-
IDAMAX finds the index of the vector element of maximum absolute value.
-
IVOUT prints integer vectors.
-
DAMAX returns the maximum absolute value of the entries in a vector.
-
DASUM sums the absolute values of the entries of a vector.
-
DAXPY adds a constant times one vector to another.
-
DBOCLS solves a bounded and constrained least squares problem.
-
DBOLS solves the linear system E*X = F in the least squares sense.
-
DBOLSM solves E*X = F in the least squares sense with bounds on some X values.
-
DCOPY copies one vector into another.
-
DDOT forms the dot product of two vectors.
-
DGECO factors a double precision matrix and estimates its condition.
-
DGEFA factors a double precision matrix.
-
DGESL solves a system factored by DGECO or DGEFA.
-
DMOUT prints double precision matrices.
-
DNRM2 computes the Euclidean norm of a vector.
-
DPCHEK checks the user's jacobian routine.
-
DQED solves bounded and constrained least squares
and nonlinear equations.
-
DQEDEV evaluates functions being treated by DQED.
-
DQEDGN is a simplified version of the QED algorithm
for the model problem.
-
DQEDIP carries out the work of DQEDGN.
-
DQEDMN is the main solution routine.
-
DROT applies a plane rotation.
-
DROTG constructs a Givens plane rotation.
-
DSCAL scales a vector by a constant.
-
DSWAP interchanges two vectors.
-
DVOUT prints double precision vectors.
-
TIMESTAMP prints the current YMDHMS date as a time stamp.
-
XERRWV is an error output message routine.
You can go up one level to
the FORTRAN77 source codes.
Last revised on 03 September 2007.