Class NewtonSolverSparse

Inheritance Relationships

Base Type

Class Documentation

class amici::NewtonSolverSparse : public amici::NewtonSolver

The NewtonSolverSparse provides access to the sparse linear solver for the Newton method.

Public Functions

NewtonSolverSparse(realtype *t, AmiVector *x, Model *model)

Constructor, initializes all members with the provided objects, initializes temporary storage objects and the klu solver.

Parameters
  • t: pointer to time variable

  • x: pointer to state variables

  • model: pointer to the model object

NewtonSolverSparse(const NewtonSolverSparse&) = delete
NewtonSolverSparse &operator=(const NewtonSolverSparse &other) = delete
~NewtonSolverSparse() override
void solveLinearSystem(AmiVector &rhs) override

Solves the linear system for the Newton step.

Parameters
  • rhs: containing the RHS of the linear system, will be overwritten by solution to the linear system

void prepareLinearSystem(int ntry, int nnewt) override

Writes the Jacobian for the Newton iteration and passes it to the linear solver.

Parameters
  • ntry: integer newton_try integer start number of Newton solver (1 or 2)

  • nnewt: integer number of current Newton step

void prepareLinearSystemB(int ntry, int nnewt) override

Writes the Jacobian (JB) for the Newton iteration and passes it to the linear solver

Parameters
  • ntry: integer newton_try integer start number of Newton solver (1 or 2)

  • nnewt: integer number of current Newton step