bdschur
Block-diagonal Schur factorization
Syntax
[T,B,BLKS] = bdschur(A,CONDMAX)
[T,B] = bdschur(A,[],BLKS)
Description
[T,B,BLKS] = bdschur(A,CONDMAX)
computes a transformation matrixTsuch thatB=T\A*Tis block diagonal and each diagonal block is a quasi upper-triangular Schur matrix.
[T,B] = bdschur(A,[],BLKS)
pre-specifies the desired block sizes. The input matrix A should already be in Schur form when you use this syntax.
Input Arguments
A
: Matrix for block-diagonal Schur factorization.CONDMAX
条件数:指定一个上界ofT. By default,CONDMAX = 1e4
. UseCONDMAX
to control the tradeoff between block size and conditioning ofTwith respect to inversion. WhenCONDMAX
is a larger value, the blocks are smaller andT
becomes more ill-conditioned.
Output Arguments
T
: Transformation matrix.B
: MatrixB=T\A*T.BLKS
: Vector of block sizes.