pymor.solvers.matrix_equations.lrradi¶
Module Contents¶
- class pymor.solvers.matrix_equations.lrradi.LRRADIRiccatiSolverLRCF(lrradi_tol=1e-10, lrradi_maxiter=500, lrradi_shifts='hamiltonian_shifts', shifted_system_solver=None, hamiltonian_shifts_init_maxiter=20, hamiltonian_shifts_subspace_columns=6)[source]¶
Bases:
pymor.solvers.matrix_equations.interface.RiccatiSolverLRCFCompute an approximate low-rank solution of a
RiccatiEquation.This is an implementation of Algorithm 2 in [BBujanovicKurschnerS18].
- Parameters:
lrradi_tol – Convergence tolerance for the RADI iteration.
lrradi_maxiter – Maximum number of RADI steps. A real shift counts as one step, a complex-conjugate shift pair as two.
lrradi_shifts – Strategy for computing the RADI shift parameters. Currently only
'hamiltonian_shifts'is supported.shifted_system_solver – The
Solverfor the shifted systems.hamiltonian_shifts_init_maxiter – Maximum number of attempts to generate stable initial shifts before an error is raised. See
hamiltonian_shifts_init.hamiltonian_shifts_subspace_columns – Number of trailing columns of the solution factor \(Z\) used to span the Galerkin subspace for the subsequent shifts. See
hamiltonian_shifts.
Methods
Compute further shift parameters for low-rank RADI iteration.
Compute initial shift parameters for low-rank RADI iteration.
- hamiltonian_shifts(A, E, B, R, K, Z)[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.
- Returns:
shifts – A
NumPy arraycontaining a set of stable shift parameters.
- hamiltonian_shifts_init(A, E, B, C)[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.
- Returns:
shifts – A
NumPy arraycontaining a set of stable shift parameters.