# 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

Functions schur()