pymor.algorithms.lrradi

Module Contents

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 Operator A from the corresponding Riccati equation.

  • E – The Operator E from the corresponding Riccati equation.

  • B – The VectorArray B from the corresponding Riccati equation.

  • R – A VectorArray representing the currently computed residual factor.

  • K – A VectorArray representing the currently computed iterate.

  • Z – A VectorArray representing the currently computed solution factor.

  • shift_options – The shift options to use (see ricc_lrcf_solver_options).

Returns:

shifts – A NumPy array containing a set of stable shift parameters.

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 Operator A from the corresponding Riccati equation.

  • E – The Operator E from the corresponding Riccati equation.

  • B – The VectorArray B from the corresponding Riccati equation.

  • C – The VectorArray C from the corresponding Riccati equation.

  • shift_options – The shift options to use (see ricc_lrcf_solver_options).

Returns:

shifts – A NumPy array containing a set of stable shift parameters.

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_subspace_columns=6)[source]

Returns available Riccati equation solvers with default solver options.

Parameters:
Returns:

A dict of available solvers with default solver options.

pymor.algorithms.lrradi.solve_ricc_lrcf(A, E, B, C, R=None, S=None, trans=False, options=None)[source]

Compute an approximate low-rank solution of a Riccati equation.

See pymor.algorithms.riccati.solve_ricc_lrcf for a general description.

This function is an implementation of Algorithm 2 in [BBujanovicKurschnerS18].

Parameters:
Returns:

Z – Low-rank Cholesky factor of the Riccati equation solution, VectorArray from A.source.