cosapp.core.numerics.solve.non_linear_solver

Functions

get_kwargs()

Returns kwargs as a dictionary, using inspect.currentframe

Classes

AbstractNonLinearSolver()

Non linear solver abstract class.

GradientNLS(**options)

Gradient-based non linear solver abstract class.

NewtonRaphsonSolver([tol, factor, max_iter, ...])

Gradient-based non linear custom solver based on Newton-Raphson.

RootFunction(*args, **kwargs)

ScipyRootSolver([method, jac, tol])

Gradient-based non linear solver relying on scipy.optimize.root.

class cosapp.core.numerics.solve.non_linear_solver.AbstractNonLinearSolver[source]

Bases: HasCompositeOptions

Non linear solver abstract class.

property log_level: LogLevel

Gets the log level.

abstract setup(size: int) None[source]

Performs setup of the non linear solver implementation.

abstract solve(fun: RootFunction, x0: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str], args: tuple[Any, ...] = (), callback: Callable[[ndarray, ndarray], Any] | None = None) SolverResults | OptimizeResult[source]

Performs resolution of the non linear problem.

abstract teardown() None[source]

Performs clean-up of the non linear solver implementation.

class cosapp.core.numerics.solve.non_linear_solver.GradientNLS(**options)[source]

Bases: AbstractNonLinearSolver

Gradient-based non linear solver abstract class.

setup(size: int) None[source]

Performs setup of the non linear solver implementation.

teardown() None[source]

Performs clean-up of the non linear solver implementation.

class cosapp.core.numerics.solve.non_linear_solver.NewtonRaphsonSolver(tol='auto', factor=1.0, max_iter=100, eps=1.1920928955078125e-07, jac_update_tol=0.01, jac: FfdJacobianEvaluation | None = None, linear_solver: DenseLUSolver | None = None, full_trace=False, tol_update_period=4, tol_to_noise_ratio=16, abs_step=inf, rel_step=inf, **kwargs)[source]

Bases: GradientNLS

Gradient-based non linear custom solver based on Newton-Raphson.

property log_level: LogLevel

Gets the log level.

solve(fresidues: RootFunction, x0: Sequence[float], args: tuple[float | str] = (), callback=None, **options) SolverResults[source]

Performs resolution of the non linear problem.

class cosapp.core.numerics.solve.non_linear_solver.RootFunction(*args, **kwargs)[source]

Bases: Protocol

class cosapp.core.numerics.solve.non_linear_solver.ScipyRootSolver(method: NonLinearMethods = NonLinearMethods.POWELL, jac: AbstractJacobianEvaluation | None = None, tol: float | None = None, **options)[source]

Bases: GradientNLS

Gradient-based non linear solver relying on scipy.optimize.root.

property log_level: LogLevel

Gets the log level.

solve(fun, x0, args=(), **options) OptimizeResult[source]

Performs resolution of the non linear problem.

cosapp.core.numerics.solve.non_linear_solver.get_kwargs()[source]

Returns kwargs as a dictionary, using inspect.currentframe

cosapp.core.numerics.solve.non_linear_solver.object__getstate__(self, /)

Helper for pickle.