pymor.algorithms.lrradi¶
Module Contents¶
Functions¶
Returns available Riccati equation solvers with default solver options. |
|
Compute an approximate low-rank solution of a Riccati equation. |
|
Compute initial shift parameters for low-rank RADI iteration. |
|
Compute further shift parameters for low-rank RADI iteration. |
- pymor.algorithms.lrradi.ricc_lrcf_solver_options(lrradi_tol=1e-10, lrradi_maxiter=500, lrradi_shifts='hamiltonian_shifts', hamiltonian_shifts_init_maxiter=20, hamiltonian_shifts_init_seed=None, hamiltonian_shifts_subspace_columns=6)[source]¶
Returns available Riccati equation solvers with default solver options.
Parameters
- lrradi_tol
See
solve_ricc_lrcf.- lrradi_maxiter
See
solve_ricc_lrcf.- lrradi_shifts
See
solve_ricc_lrcf.- hamiltonian_shifts_init_maxiter
- hamiltonian_shifts_init_seed
- hamiltonian_shifts_subspace_columns
See
hamiltonian_shifts.
Returns
A dict of available solvers with default solver options.
- pymor.algorithms.lrradi.solve_ricc_lrcf(A, E, B, C, R=None, trans=False, options=None)[source]¶
Compute an approximate low-rank solution of a Riccati equation.
See
pymor.algorithms.riccati.solve_ricc_lrcffor a general description.This function is an implementation of Algorithm 2 in [BBujanovicKurschnerS18].
Parameters
- A
The
OperatorA.- E
The
OperatorE orNone.- B
The operator B as a
VectorArrayfromA.source.- C
The operator C as a
VectorArrayfromA.source.- R
The matrix R as a 2D
NumPy arrayorNone.- trans
Whether the first
Operatorin the Riccati equation is transposed.- options
The solver options to use. (see
ricc_lrcf_solver_options)
Returns
- Z
Low-rank Cholesky factor of the Riccati equation solution,
VectorArrayfromA.source.
- pymor.algorithms.lrradi.hamiltonian_shifts_init(A, E, B, C, shift_options)[source]¶
Compute initial shift parameters for low-rank RADI iteration.
Compute Galerkin projection of Hamiltonian matrix on space spanned by \(C\) and return the eigenvalue of the projected Hamiltonian with the most impact on convergence as the next shift parameter.
See [BBujanovicKurschnerS18], pp. 318-321.
Parameters
- A
The
OperatorA from the corresponding Riccati equation.- E
The
OperatorE from the corresponding Riccati equation.- B
The
VectorArrayB from the corresponding Riccati equation.- C
The
VectorArrayC from the corresponding Riccati equation.- shift_options
The shift options to use (see
ricc_lrcf_solver_options).
Returns
- shifts
A
NumPy arraycontaining a set of stable shift parameters.
- pymor.algorithms.lrradi.hamiltonian_shifts(A, E, B, R, K, Z, shift_options)[source]¶
Compute further shift parameters for low-rank RADI iteration.
Compute Galerkin projection of Hamiltonian matrix on space spanned by last few columns of \(Z\) and return the eigenvalue of the projected Hamiltonian with the most impact on convergence as the next shift parameter.
See [BBujanovicKurschnerS18], pp. 318-321.
Parameters
- A
The
OperatorA from the corresponding Riccati equation.- E
The
OperatorE from the corresponding Riccati equation.- B
The
VectorArrayB from the corresponding Riccati equation.- R
A
VectorArrayrepresenting the currently computed residual factor.- K
A
VectorArrayrepresenting the currently computed iterate.- Z
A
VectorArrayrepresenting the currently computed solution factor.- shift_options
The shift options to use (see
ricc_lrcf_solver_options).
Returns
- shifts
A
NumPy arraycontaining a set of stable shift parameters.