gemseo.algos.linear_solvers.scipy_linalg.settings.gcrot module#

Settings for the SciPy GCROT algorithm.

Settings GCROT_Settings(*, store_residuals=False, use_ilu_precond=False, save_when_fail=False, atol=0.0, rtol=1e-12, callback=None, maxiter=1000, x0=None, M=None, m=30, k=30, CU=None, discard_C=True, truncate='oldest')[source]#

Bases: BaseSciPyLinalgSettingsBase

The settings of the SciPy GCROT algorithm.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:
Return type:

None

CU: Iterable[tuple[NumberArray, NumberArray]] | None = None#

List of tuples (c, u) required to form the matrices C and U.

If None start from empty matrices.

discard_C: bool = True#

Whether to discard the C-vectors at the end.

k: PositiveInt = 30#

Number of vectors to carry between inner FGMRES iterations.

If None use the same value as m.

Constraints:
  • gt = 0

m: PositiveInt = 30#

Number of inner FGMRES iterations per each outer iteration.

Constraints:
  • gt = 0

truncate: Literal['oldest', 'smallest'] = 'oldest'#

The vectors from the previous cycle to drop.

model_post_init(context, /)#

We need to both initialize private attributes and call the user-defined model_post_init method.

Parameters:
  • self (BaseModel)

  • context (Any)

Return type:

None