bdschur
Block-diagonal Schur factorization.
📝Syntax
[T, B] = bdschur(A)
[T, B] = bdschur(A, CONDMAX)
📥Input Arguments
Parameter Description
A Square real matrix.
CONDMAX upper bound on the condition number of T. By default, CONDMAX = 1e4.
📤Output Arguments
Parameter Description
T Transformation matrix.
B B = T \ A * T
📄Description

[T, B] = bdschur(A, CONDMAX) calculates a transformation matrix T, where B = T \ A * T results in a block diagonal matrix with each block being a quasi upper-triangular Schur matrix, ensuring the diagonalization of matrix A while preserving certain structural properties.

💡Examples
A = [1.   -1.    1.    2.    3.    1.    2.    3.;
   1.    1.    3.    4.    2.    3.    4.    2.;
   0.    0.    1.   -1.    1.    5.    4.    1.;
   0.    0.    0.    1.   -1.    3.    1.    2.;
   0.    0.    0.    1.    1.    2.    3.   -1.;
   0.    0.    0.    0.    0.    1.    5.    1.;
   0.    0.    0.    0.    0.    0.    0.99999999   -0.99999999;
   0.    0.    0.    0.    0.    0.    0.99999999    0.99999999];
[T, B] = bdschur(A)
🔗See Also
slicot_mb03rd
Used Functions
MB03RD
📚Bibliography
http://slicot.org/objects/software/shared/doc/MB03RD.html
🕔Version History
Version Description
1.0.0 initial version
Edit this page on GitHub