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.

    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).

    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.

    Returns
    num_iterations (std::size_t)

    Number of iterations

tao()

Return the TAO pointer

thisown

The membership flag