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 matrix T such that B = T \ A * T is
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
: Specifies an upper bound on the condition number of T. By default,CONDMAX = 1e4
. UseCONDMAX
to control the tradeoff between block size and conditioning of T with respect to inversion. WhenCONDMAX
is a larger value, the blocks are smaller andT
becomes more ill-conditioned.
Output Arguments
T
: Transformation matrix.B
: Matrix B = T \ A * T.BLKS
: Vector of block sizes.