Compute an Orthogonal Matrix

Hi All,
I need your help. Is there any solution in Matlab to compute an orthogonal matrix if the first coulomn of the orthogonal matrix is known.
For example, I want to find an orthonal matrix for matrix A,
A = [1 0 0 0 -1 0;-1 1 0 0 0 0;0 -1 1 0 0 0;0 0 -1 1 0 0;0 0 0 -1 1 0;0 0 0 0 -1 1];
U*A*inv(U) = B
U is an orthogonal matrix with the first coulomn of U being [1;1;1;1;1;1] .
B is a diagonal matrix with all eigenvalues of A on the diagonal.
Thank you very much for your help

5 comentarios

Torsten
Torsten el 11 de Abr. de 2019
Your matrix A can't be diagonalized using an orthogonal matrix U.
Jan
Jan el 11 de Abr. de 2019
Your A is a singular matrix.
David Goodmanson
David Goodmanson el 15 de Abr. de 2019
Hi namo,
should the first row of A be [0 0 0 0 0 -1] instead of [0 0 0 0 -1 0] ? That puts A into a nice looking form and allows a solution like you are talking about.
Matt J
Matt J el 15 de Abr. de 2019
U is an orthogonal matrix with the first coulomn of U being [1;1;1;1;1;1] .
The norm of the columns (and the rows) of an orthogonal matrix must be one. So, a column of 1's is impossible. Maybe you mean that the column should be [1;1;1;1;1;1] /sqrt(6).
David Goodmanson
David Goodmanson el 15 de Abr. de 2019
Editada: David Goodmanson el 15 de Abr. de 2019
Hi Matt / namo
yes that's true, thanks for pointing it out.
In the specific case of the modified A, there is a U of the right form, but I had not noticed before that it is still not quite right because
U'*A*U = B
whereas the question wanted
U*A*U' = B

Iniciar sesión para comentar.

Respuestas (1)

Matt J
Matt J el 15 de Abr. de 2019
Editada: Matt J el 15 de Abr. de 2019

0 votos

No, this is generally not possible. When all the eigenvalues of A are distinct, for example, the (orthonormalized) eigenvectors are unique up to sign. That means you cannot arbitrarily specify one column of U.

Categorías

Más información sobre Linear Algebra en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 11 de Abr. de 2019

Editada:

el 15 de Abr. de 2019

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by