# PRAXIS Scalar Function Optimization

PRAXIS, a MATLAB 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 MATLAB 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.

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

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

TEST_OPT_CON, a MATLAB 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 MATLAB library which defines test problems for the minimization of a scalar function of several variables, as described by Molga and Smutnicki.

### Author:

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

### Reference:

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

### Source Code:

• flin.m, is the function of one variable to be minimized by MINNY.
• minfit.m, computes the singular value decomposition of an N by N array.
• minny.m, minimizes a scalar function of N variables along a line.
• praxis.m, seeks an N-dimensional minimizer X of a scalar function F(X).
• print2.m, prints certain data about the progress of the iteration.
• quad.m, seeks to minimize the scalar function F along a particular curve.
• r8_hypot.m, returns sqrt ( x^2 + y^2 ) as an R8;
• r8mat_print.m, prints an R8MAT;
• r8mat_print_some.m, prints some of an R8MAT;
• r8vec_print.m, prints an R8VEC;
• svsort.m, descending sorts singular values D and adjusts V.
• timestamp.m, prints the current YMDHMS date as a timestamp;

Last revised on 03 March 2019.