PRAXIS Scalar Function Optimization

PRAXIS is a FORTRAN90 library which minimizes a scalar function of a vector argument, without needing derivative information, by Richard Brent.

PRAXIS seeks an M-dimensional point X which minimizes a given scalar function F(X). The code is a refinement of Powell's method of conjugate search directions. The user does not need to supply the partial derivatives of the function F(X). In fact, the function F(X) need not be smoothly differentiable.

Languages:

PRAXIS is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version and a Python version.

Related Data and Programs:

BRENT, a FORTRAN90 library which contains Richard Brent's routines for finding the zero, local minimizer, or global minimizer of a scalar function of a scalar argument, without the use of derivative information.

BVLS, a FORTRAN90 library which applies least squares methods to solve a linear system for which lower and upper constraints may have been placed on every variable.

COMPASS_SEARCH, a FORTRAN90 library which seeks the minimizer of a scalar function of several variables using compass search, a direct search algorithm that does not use derivatives.

DQED, a FORTRAN90 library which solves constrained least squares problems.

ENTRUST, a MATLAB program which solves problems in scalar optimization or nonlinear least squares.

MINPACK, a FORTRAN90 library which solves systems of nonlinear equations, or the least squares minimization of the residual of a set of linear or nonlinear equations.

NL2SOL, a FORTRAN90 library which implements an adaptive nonlinear least-squares algorithm.

TEST_OPT, a FORTRAN90 library which defines test problems requiring the minimization of a scalar function of several variables.

TEST_OPT_CON, a FORTRAN90 library which defines test problems for the minimization of a scalar function of several variables, with the search constrained to lie within a specified hyper-rectangle.

TEST_OPTIMIZATION, a FORTRAN90 library which defines test problems for the minimization of a scalar function of several variables, as described by Molga and Smutnicki.

TOMS611, a FORTRAN90 library which seeks the minimizer of a scalar functional of multiple variables.

Author:

Original FORTRAN77 version by Richard Brent. FORTRAN90 translation by John Burkardt.

Reference:

• Richard Brent,
Algorithms for Minimization without Derivatives,
Dover, 2002,
ISBN: 0-486-41998-3,
LC: QA402.5.B74.

List of Routines:

• FLIN is the function of one variable to be minimized by MINNY.
• MINFIT computes the singular value decomposition of an N by N array.
• MINNY minimizes a scalar function of N variables along a line.
• PRAXIS seeks an N-dimensional minimizer X of a scalar function F(X).
• PRINT2 prints certain data about the progress of the iteration.
• QUAD seeks to minimize the scalar function F along a particular curve.
• R8_HYPOT returns the value of sqrt ( X^2 + Y^2).
• R8MAT_PRINT prints an R8MAT.
• R8MAT_PRINT_SOME prints some of an R8MAT.
• R8VEC_PRINT prints an R8VEC.
• R8VEC_SWAP swaps the entries of two R8VECs.
• SORT sorts a vector D and adjusts the corresponding columns of a matrix V.
• TIMESTAMP prints the current YMDHMS date as a time stamp.

You can go up one level to the FORTRAN90 source codes.

Last revised on 28 July 2016.