PETScTAOSolver¶
-
class
dolfin.cpp.la.
PETScTAOSolver
(tao_type='default', ksp_type='default', pc_type='default')¶ Bases:
dolfin.cpp.la.PETScObject
This class implements methods for solving nonlinear optimisation problems via PETSc TAO solver. It supports unconstrained as well as bound-constrained minimisation problem
Create TAO solver for a particular method
-
static
default_parameters
()¶ Default parameter values
-
init
()¶ Overloaded versions
init(optimisation_problem, x, lb, ub)
Initialise the TAO solver for a bound-constrained minimisation problem, in case the user wants to access the TAO object directly
init(optimisation_problem, x)
Initialise the TAO solver for an unconstrained minimisation problem, in case the user wants to access the TAO object directly
-
static
methods
()¶ Return a list of available solver methods
-
parameters
¶
-
solve
()¶ Overloaded versions
solve(optimisation_problem, x, lb, ub)
Solve a nonlinear bound-constrained optimisation problem
- Arguments
- optimisation_problem (
OptimisationProblem
) The nonlinear optimisation problem.
- x (
GenericVector
) The solution vector (initial guess).
- lb (
GenericVector
) The lower bound.
- ub (
GenericVector
) The upper bound.
- optimisation_problem (
- Returns
- num_iterations (std::size_t)
Number of iterations
solve(optimisation_problem, x)
Solve a nonlinear unconstrained minimisation problem
- Arguments
- optimisation_problem (
OptimisationProblem
) The nonlinear optimisation problem.
- x (
GenericVector
) The solution vector (initial guess).
- optimisation_problem (
- Returns
- num_iterations (std::size_t)
Number of iterations
solve(optimisation_problem, x, lb, ub)
Solve a nonlinear bound-constrained minimisation problem
- Arguments
- optimisation_problem (
OptimisationProblem
) The nonlinear optimisation problem.
- x (
PETScVector
) The solution vector (initial guess).
- lb (
PETScVector
) The lower bound.
- ub (
PETScVector
) The upper bound.
- optimisation_problem (
- Returns
- num_iterations (std::size_t)
Number of iterations
-
tao
()¶ Return the TAO pointer
-
thisown
¶ The membership flag
-
static