naginterfaces.library.lapackeig.dtgsyl

naginterfaces.library.lapackeig.dtgsyl(trans, ijob, a, b, c, d, e, f)[source]

dtgsyl solves the generalized real quasi-triangular Sylvester equations.

For full information please refer to the NAG Library document for f08yh

https://www.nag.com/numeric/nl/nagdoc_29.3/flhtml/f08/f08yhf.html

Parameters
transstr, length 1

If , solve the generalized Sylvester equation (1).

If , solve the ‘transposed’ system (2).

ijobint

Specifies what kind of functionality is to be performed when .

Solve (1) only.

The functionality of or .

The functionality of or .

Only an estimate of is computed based on the Frobenius norm.

Only an estimate of is computed based on the -norm.

If , is not referenced.

afloat, array-like, shape

The upper quasi-triangular matrix .

bfloat, array-like, shape

The upper quasi-triangular matrix .

cfloat, array-like, shape

Contains the right-hand-side matrix .

dfloat, array-like, shape

The upper triangular matrix .

efloat, array-like, shape

The upper triangular matrix .

ffloat, array-like, shape

Contains the right-hand side matrix .

Returns
cfloat, ndarray, shape

If , or , is overwritten by the solution matrix .

If and or , holds , the solution achieved during the computation of the Dif estimate.

ffloat, ndarray, shape

If , or , is overwritten by the solution matrix .

If and or , holds , the solution achieved during the computation of the Dif estimate.

scalefloat

, the scaling factor in (1) and (2).

If , and hold the solutions and , respectively, to a slightly perturbed system but the input arrays , , and have not been changed.

If , and hold the solutions and , respectively, to the homogeneous system with .

In this case is not referenced.

Normally, .

diffloat

The estimate of . If , is not referenced.

Raises
NagValueError
(errno )

On entry, error in parameter .

Constraint: or .

(errno )

On entry, error in parameter .

Constraint: .

(errno )

On entry, error in parameter .

Constraint: .

(errno )

On entry, error in parameter .

Constraint: .

(errno )

and have common or close eigenvalues and so no solution could be computed.

Notes

dtgsyl solves either the generalized real Sylvester equations

or the equations

where the pair are given matrices in real generalized Schur form, are given matrices in real generalized Schur form and are given matrices. The pair are the solution matrices, and is an output scaling factor determined by the function to avoid overflow in computing .

Equations (1) are equivalent to equations of the form

where

and is the Kronecker product. Equations (2) are then equivalent to

The pair are in real generalized Schur form if is block upper triangular with and diagonal blocks on the diagonal and is upper triangular as returned, for example, by dgges3(), or dhgeqz() with .

Optionally, the function estimates , the separation between the matrix pairs and , which is the smallest singular value of . The estimate can be based on either the Frobenius norm, or the -norm. The -norm estimate can be three to ten times more expensive than the Frobenius norm estimate, but makes the condition estimation uniform with the nonsymmetric eigenproblem. The Frobenius norm estimate provides a low cost, but equally reliable estimate. For more information see Sections 2.4.8.3 and 4.11.1.3 of Anderson et al. (1999) and Kågström and Poromaa (1996).

References

Anderson, E, Bai, Z, Bischof, C, Blackford, S, Demmel, J, Dongarra, J J, Du Croz, J J, Greenbaum, A, Hammarling, S, McKenney, A and Sorensen, D, 1999, LAPACK Users’ Guide, (3rd Edition), SIAM, Philadelphia, https://www.netlib.org/lapack/lug

Kågström, B, 1994, A perturbation analysis of the generalized Sylvester equation , SIAM J. Matrix Anal. Appl. (15), 1045–1060

Kågström, B and Poromaa, P, 1996, LAPACK-style algorithms and software for solving the generalized Sylvester equation and estimating the separation between regular matrix pairs, ACM Trans. Math. Software (22), 78–103