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 commentaires

Torsten
Torsten le 11 Avr 2019
Your matrix A can't be diagonalized using an orthogonal matrix U.
Jan
Jan le 11 Avr 2019
Your A is a singular matrix.
David Goodmanson
David Goodmanson le 15 Avr 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 le 15 Avr 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 le 15 Avr 2019
Modifié(e) : David Goodmanson le 15 Avr 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

Connectez-vous pour commenter.

Réponses (1)

Matt J
Matt J le 15 Avr 2019
Modifié(e) : Matt J le 15 Avr 2019

0 votes

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.

Catégories

En savoir plus sur Linear Algebra dans Centre d'aide et File Exchange

Question posée :

le 11 Avr 2019

Modifié(e) :

le 15 Avr 2019

Community Treasure Hunt

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

Start Hunting!

Translated by