scipy.linalg.lapack.ctgexc#

scipy.linalg.lapack.ctgexc(a, b, q, z, ifst, ilst, wantq=1, wantz=1, overwrite_a=0, overwrite_b=0, overwrite_q=0, overwrite_z=0) = <flapack function ctgexc>#

Reorder a generalized Schur decomposition by moving one diagonal block (LAPACK ctgexc).

Parameters:
andarray

Upper (quasi-)triangular factor of the pencil, shape (n, n).

bndarray

Upper triangular factor of the pencil, shape (n, n).

qndarray

Left Schur vectors; updated when wantq is nonzero.

zndarray

Right Schur vectors; updated when wantz is nonzero.

ifstint

Current position of the diagonal block to move, 1-based.

ilstint

Position to move it to, 1-based. LAPACK adjusts both when a block turns out to be 2x2; the adjusted values are not returned.

wantqint, optional

If nonzero, the left transformation is accumulated into q. Default is 1.

wantzint, optional

If nonzero, the right transformation is accumulated into z. Default is 1.

overwrite_aint, optional

If nonzero, a may be overwritten in place. Default is 0.

overwrite_bint, optional

If nonzero, b may be overwritten in place. Default is 0.

overwrite_qint, optional

If nonzero, q may be overwritten in place. Default is 0.

overwrite_zint, optional

If nonzero, z may be overwritten in place. Default is 0.

Returns:
andarray

The reordered first factor.

bndarray

The reordered second factor.

qndarray

The updated left Schur vectors.

zndarray

The updated right Schur vectors.

infoint

0 on success; if negative, the -info-th argument had an illegal value.