gemseo.mda.newton_raphson module#

The Newton-Raphson algorithm for solving MDAs.

Newton-Raphson

class MDANewtonRaphson(disciplines, settings_model=None, **settings)[source]#

Bases: BaseMDARoot

Newton solver for MDA.

The Newton-Raphson method is an iterative method to solve general equations of the form,

\[F(x) = 0, \quad \text{where} \quad F: \mathbb{R}^n \rightarrow \mathbb{R}^n.\]

Beginning with \(x_0 \in \mathbb{R}^n\) the successive iterates are given by:

\[x_{k+1} = x_k - J_f(x_k)^{-1} f(x_k),\]

where \(J_f(x_k)\) denotes the Jacobian of \(f\) at \(x_k\).

Initialize self. See help(type(self)) for accurate signature.

Parameters:
  • disciplines (Sequence[Discipline]) -- The disciplines from which to compute the MDA.

  • settings_model (MDANewtonRaphson_Settings | None) -- The MDA settings as a Pydantic model. If None, use **settings.

  • **settings (Any) -- The MDA settings. These arguments are ignored when settings_model is not None.

Raises:

ValueError -- When there are no coupling variables, or when there are weakly coupled disciplines. In these cases, use MDAChain.

Settings#

The pydantic model for the settings.

alias of MDANewtonRaphson_Settings

settings: MDANewtonRaphson_Settings#

The settings of the MDA