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

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