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

Torsten
Torsten 2019년 4월 11일
Your matrix A can't be diagonalized using an orthogonal matrix U.
Jan
Jan 2019년 4월 11일
Your A is a singular matrix.
David Goodmanson
David Goodmanson 2019년 4월 15일
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 2019년 4월 15일
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 2019년 4월 15일
편집: David Goodmanson 2019년 4월 15일
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

댓글을 달려면 로그인하십시오.

답변 (1개)

Matt J
Matt J 2019년 4월 15일
편집: Matt J 2019년 4월 15일

0 개 추천

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.

카테고리

도움말 센터File Exchange에서 Linear Algebra에 대해 자세히 알아보기

질문:

2019년 4월 11일

편집:

2019년 4월 15일

Community Treasure Hunt

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

Start Hunting!

Translated by