1
$\begingroup$

I am having trouble finding the schur factorization of the following matrix:

$A=\begin{pmatrix}3&8 \\ -2&3 \end{pmatrix}$

I followed an algorithm in the book, as well as computing an answer via Octave/Matlab. I did the following:

[U,T] = schur(A) where $U$ will be a unitary matrix and $T$ will be an upper triangular matrix.

Which gave me:

$U=\begin{pmatrix}1&0 \\ 0&1 \end{pmatrix}$ and $T=A$

$T=A$ is not upper triangular -- schur's factorization is supposed to give us an upper triangular matrix...

  1. What went wrong? Is a schur factorization possible for every square matrix (it should be according to wikipedia on schur decomposition

Thanks for all the help!

$\endgroup$
  • $\begingroup$ No, I get the exact same result... $\endgroup$ – CodeKingPlusPlus Jan 31 '14 at 3:25
  • $\begingroup$ No luck :( I even tried .000001 difference... $\endgroup$ – CodeKingPlusPlus Jan 31 '14 at 4:10
  • $\begingroup$ So, from your value of Q we were able to recover the value of U and indeed got an upper triangular matrix. What are you using, or how did you do this? $\endgroup$ – CodeKingPlusPlus Jan 31 '14 at 4:14
1
$\begingroup$

Matlab's documentation for schur does not state that T is triangular, but rather "quasitriangular". Quasitriangular matrices are a special form of Hessenberg matrix.

By default, the schur function returns the real form of the decomposition. Because your A matrix has complex eigenvalues the real Schur matrix T will be quasitriangular instead of upper triangular.

You can compute the more general complex Schur form as @Amzoti suggests via:

A = [3 8;-2 3];
[U,T] = schur(A,'complex')

which returns

U =

   0.0000 + 0.8944i   0.4472 + 0.0000i
  -0.4472 + 0.0000i   0.0000 - 0.8944i


T =

   3.0000 + 4.0000i  -6.0000 + 0.0000i
   0.0000 + 0.0000i   3.0000 - 4.0000i

In this case T is guaranteed to be diagonal.

By the way, you can convert the real matrix A to a complex one with a zero imaginary part by using the complex function (simply adding 0*1i generally won't work). Thus the following could also be used:

A = [3 8;-2 3];
[U,T] = schur(complex(A))
$\endgroup$
  • $\begingroup$ What about solving this out by hand? $\endgroup$ – CodeKingPlusPlus Jan 31 '14 at 4:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.