pymor.algorithms.sylvester

Module Contents

Functions

solve_sylv_schur

Solve Sylvester equation by Schur decomposition.

pymor.algorithms.sylvester.solve_sylv_schur(A, Ar, E=None, Er=None, B=None, Br=None, C=None, Cr=None)[source]

Solve Sylvester equation by Schur decomposition.

Solves Sylvester equation

AVErT+EVArT+BBrT=0

or

ATWEr+ETWAr+CTCr=0

or both using (generalized) Schur decomposition (Algorithms 3 and 4 in [BKohlerS11]), if the necessary parameters are given.

Parameters

A

Real Operator.

Ar

Real Operator. It is converted into a NumPy array using to_matrix.

E

Real Operator or None (then assumed to be the identity).

Er

Real Operator or None (then assumed to be the identity). It is converted into a NumPy array using to_matrix.

B

Real Operator or None.

Br

Real Operator or None. It is assumed that Br.range.from_numpy is implemented.

C

Real Operator or None.

Cr

Real Operator or None. It is assumed that Cr.source.from_numpy is implemented.

Returns

V

Returned if B and Br are given, VectorArray from A.source.

W

Returned if C and Cr are given, VectorArray from A.source.

Raises

ValueError

If V and W cannot be returned.