This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.


Block-diagonal Schur factorization


[T,B,BLKS] = bdschur(A,CONDMAX)
[T,B] = bdschur(A,[],BLKS)


[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 = 1/sqrt(eps). Use CONDMAX to control the tradeoff between block size and conditioning of T with respect to inversion. When CONDMAX is a larger value, the blocks are smaller and T becomes more ill-conditioned.

Output Arguments

  • T: Transformation matrix.

  • B: Matrix B = T \ A * T.

  • BLKS: Vector of block sizes.

See Also


Introduced in R2008a