|
Interior-point-optimisation
1.0-1
Interior-pointoptimisationlibrary
|
Namespace for classes that handle details of interior-point optimisation that are not ordinarily accessed directly to set up and solve a convex optimisation problem. More...
Classes | |
| class | BarrierFunction |
| Function for the logarithmic barrier. More... | |
| class | LineSearch |
| Backtracking line search. More... | |
| class | ModelBase |
| Abstract base class for model. More... | |
| class | ModelFunction |
| Abstract base class for Objective and Constraint. More... | |
| class | NewtonDescent |
| Newton descent method. More... | |
| class | PhaseIModel |
| Model used for finding an initial feasible solution in phase I of interior-pont optimisation. More... | |
| class | SharedFunctionPtr |
| Shared pointer to ipo::Function object. More... | |
| class | Var |
| Abstract base class for Variable and Array;. More... | |
Functions | |
| std::tuple< gsl::matrix, double > | modifiedCholeskyDecomp (gsl::matrix const &matrix, double maxoffl) |
| Modified in-place Cholesky decomposition using the method of Gill, Murray and Wright (1981) to deal with cases where matrix is not positive definite. More... | |
| gsl::matrix | modelHessian (gsl::matrix &matrix) |
| Find a Cholesky decomposition (both upper and lower triangles returned in matrix) of a matrix + mu * I, where matrix is a Hessian (assumed symmetric) matrix and mu is chosen to ensure that matrix + mu * I is safely poitive definite and is zero if matrix is already safely positive definite. More... | |
Namespace for classes that handle details of interior-point optimisation that are not ordinarily accessed directly to set up and solve a convex optimisation problem.
| gsl::matrix ipo::detail::modelHessian | ( | gsl::matrix & | matrix | ) |
Find a Cholesky decomposition (both upper and lower triangles returned in matrix) of a matrix + mu * I, where matrix is a Hessian (assumed symmetric) matrix and mu is chosen to ensure that matrix + mu * I is safely poitive definite and is zero if matrix is already safely positive definite.
In the algorithm matrix is modified to matrix + mu * I. See Dennis and Schnabel, 1996, Algorithm A.5.5.1.
| matrix | The Hessian |
Definition at line 102 of file GSL.cc.
References ipo::format::infinity, and modifiedCholeskyDecomp().
Referenced by ipo::detail::NewtonDescent::operator()().
| std::tuple< gsl::matrix, double > ipo::detail::modifiedCholeskyDecomp | ( | gsl::matrix const & | matrix, |
| double | maxoffl | ||
| ) |
Modified in-place Cholesky decomposition using the method of Gill, Murray and Wright (1981) to deal with cases where matrix is not positive definite.
See Dennis and Schnabel, 1996: Algorithm A.5.5.2.
This should not be used directly but through modelHessian()
| matrix | The matrix (assumed symmetric) to decompose in place |
| maxoffl | A parameter generated by modelHessian |
Definition at line 29 of file GSL.cc.
References ipo::format::infinity.
Referenced by modelHessian().