naginterfaces.library.lapackeig.dtrexc

naginterfaces.library.lapackeig.dtrexc(compq, t, q, ifst, ilst)[source]

dtrexc reorders the Schur factorization of a real general matrix.

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

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

Parameters
compqstr, length 1

Indicates whether the matrix of Schur vectors is to be updated.

The matrix of Schur vectors is updated.

No Schur vectors are updated.

tfloat, array-like, shape

The upper quasi-triangular matrix in canonical Schur form, as returned by dhseqr().

qfloat, array-like, shape

Note: the required extent for this argument in dimension 1 is determined as follows: if : ; if : ; otherwise: .

Note: the required extent for this argument in dimension 2 is determined as follows: if : ; if : ; otherwise: .

If , must contain the orthogonal matrix of Schur vectors.

ifstint

and must specify the reordering of the diagonal elements or blocks of . The element or block with row index is moved to row by a sequence of exchanges between adjacent elements or blocks.

ilstint

and must specify the reordering of the diagonal elements or blocks of . The element or block with row index is moved to row by a sequence of exchanges between adjacent elements or blocks.

Returns
tfloat, ndarray, shape

is overwritten by the updated matrix . See also Further Comments.

qfloat, ndarray, shape

If , contains the updated matrix of Schur vectors.

If , is not referenced.

ifstint

If pointed to the second row of a block on entry, it is changed to point to the first row. always points to the first row of the block in its final position (which may differ from its input value by ).

ilstint

If pointed to the second row of a block on entry, it is changed to point to the first row. always points to the first row of the block in its final position (which may differ from its input value by ).

Raises
NagValueError
(errno )

On entry, error in parameter .

Constraint: or .

(errno )

On entry, error in parameter .

Constraint: .

(errno )

On entry, error in parameter .

(errno )

On entry, error in parameter .

Warns
NagAlgorithmicWarning
(errno )

Two adjacent diagonal elements or blocks could not be successfully exchanged. This error can only occur if the exchange involves at least one block; it implies that the problem is very ill-conditioned, and that the eigenvalues of the two blocks are very close. On exit, may have been partially reordered, and points to the first row of the current position of the block being moved; (if requested) is updated consistently with .

Notes

dtrexc reorders the Schur factorization of a real general matrix , so that the diagonal element or block of with row index is moved to row .

The reordered Schur form is computed by an orthogonal similarity transformation: . Optionally the updated matrix of Schur vectors is computed as , giving .

References

Golub, G H and Van Loan, C F, 1996, Matrix Computations, (3rd Edition), Johns Hopkins University Press, Baltimore