Tool to calculate Schur decomposition (or Schur triangulation) that makes it possible to write any numerical square matrix into a multiplication of a unitary matrix and an upper triangular matrix.
Schur Decomposition (Matrix) - dCode
Tag(s) : Matrix
dCode is free and its tools are a valuable help in games, maths, geocaching, puzzles and problems to solve every day!
A suggestion ? a feedback ? a bug ? an idea ? Write to dCode!
Tool to calculate Schur decomposition (or Schur triangulation) that makes it possible to write any numerical square matrix into a multiplication of a unitary matrix and an upper triangular matrix.
The Schur decomposition of a square matrix $ M $ is its writing in the following form (also called Schur form): $$ M = Q.T.Q^{-1} $$
with $ Q $ a unitary matrix (such as $ Q^*.Q=I $) and $ T $ is an upper triangular matrix whose diagonal values are the eigenvalues of the matrix.
This decomposition only applies to numerical square matrices (no variables)
Example: The Schur triangulation of the matrix $ M = \begin{pmatrix} 1 & 3 \\ 2 & 4 \end{pmatrix} $ gives $$ Q = \begin{pmatrix} −0.825 & 0.566 \\ 0.566 & −0.825 \end{pmatrix}, T = \begin{pmatrix} −0.372 & −1 \\ 0 & 5.372 \end{pmatrix} $$
There is always a decomposition of Schur, but it is not necessarily unique.
dCode uses computer algorithms involving QR decomposition.
Manually, find a proper vector $ u_1 $ of the matrix $ M $ by calculating its eigenvalues $ \Lambda_i $. Calculate its normalized value and an orthonormal basis $ {u_1, v_2} $ to obtain $ U = [u_1, v_2] $. Express the matrix $ M $ in the orthonormal basis $ A_{{u_1, v_2}} = U^{-1}.A.U = U^{T}.A.U $. Repeat the operation for each eigenvector to obtain the triangular matrix. NB: for a 2x2 matrix, only one operation is necessary and $ T = A_{{u_1, v_2}} $
dCode retains ownership of the online 'Schur Decomposition (Matrix)' tool source code. Except explicit open source licence (indicated CC / Creative Commons / free), any algorithm, applet or snippet (converter, solver, encryption / decryption, encoding / decoding, ciphering / deciphering, translator), or any function (convert, solve, decrypt / encrypt, decipher / cipher, decode / encode, translate) written in any informatic language (PHP, Java, C#, Python, Javascript, Matlab, etc.) no data, script or API access will be for free, same for Schur Decomposition (Matrix) download for offline use on PC, tablet, iPhone or Android !
Please, check our community Discord for help requests!