scipy 1.8.0 Pypi GitHub Homepage
Other Docs
ParametersRaisesReturns
_fgmres(matvec, v0, m, atol, lpsolve=None, rpsolve=None, cs=(), outer_v=(), prepend_outer_v=False)

Parameters

matvec : callable

Operation A*x

v0 : ndarray

Initial vector, normalized to nrm2(v0) == 1

m : int

Number of GMRES rounds

atol : float

Absolute tolerance for early exit

lpsolve : callable

Left preconditioner L

rpsolve : callable

Right preconditioner R

CU : list of (ndarray, ndarray)

Columns of matrices C and U in GCROT

outer_v : list of ndarrays

Augmentation vectors in LGMRES

prepend_outer_v : bool, optional

Whether augmentation vectors come before or after Krylov iterates

Raises

LinAlgError

If nans encountered

Returns

Q, R : ndarray

QR decomposition of the upper Hessenberg H=QR

B : ndarray

Projections corresponding to matrix C

vs : list of ndarray

Columns of matrix V

zs : list of ndarray

Columns of matrix Z

y : ndarray

Solution to ||H y - e_1||_2 = min!

res : float

The final (preconditioned) residual norm

FGMRES Arnoldi process, with optional projection or augmentation

Examples

See :

Local connectivity graph

Hover to see nodes names; edges to Self not shown, Caped at 50 nodes.

Using a canvas is more power efficient and can get hundred of nodes ; but does not allow hyperlinks; , arrows or text (beyond on hover)

SVG is more flexible but power hungry; and does not scale well to 50 + nodes.

All aboves nodes referred to, (or are referred from) current nodes; Edges from Self to other have been omitted (or all nodes would be connected to the central node "self" which is not useful). Nodes are colored by the library they belong to, and scaled with the number of references pointing them


GitHub : /scipy/sparse/linalg/_isolve/_gcrotmk.py#14
type: <class 'function'>
Commit: