schtoc

Purpose

Reduces any 2x2 blocks on the diagonal of the real Schur matrix returned from schur(). The transformation matrix is also updated.

Format

{ schc, transc } = schtoc(sch, trans)
Parameters:
  • sch (matrix) – real NxN matrix in Real Schur form. i.e., upper triangular except for possibly 2x2 blocks on the diagonal.

  • trans (matrix) – real NxN matrix. the associated transformation matrix.

Returns:
  • schc (NxN matrix) – possibly complex, strictly upper triangular. The diagonal entries are the eigenvalues.

  • transc (NxN matrix) – possibly complex, the associated transformation matrix.

Examples

 // Create a 2 x 2 matrix
 a = { 7 -2,
    12 -5 };

{ schc, transc } = schtoc(schur(a));

This example calculates the complex Schur form for a real matrix a.

Remarks

Other than checking that the inputs are strictly real matrices, no other checks are made. If the input matrix sch is already upper triangular, it is not changed. Small off-diagonal elements are considered to be zero. See the source code for the test used.

Source

schtoc.src

See also

Functions schur()