Take the 2-minute tour ×
Mathematica Stack Exchange is a question and answer site for users of Mathematica. It's 100% free, no registration required.

I can calculate the modal matrix of a matrix A using the command JordanDecomposition[A][[1]], and a decimal approximation of the orthogonal (or normalised) modal matrix using JordanDecomposition[N[A]][[1]] but I would like to know how to calculate the answer in an exact form.

The example I'm using is A = {{1, 1/2, -(1/2)}, {1/2, 1, 1/2}, {-(1/2), 1/2, 1}} where using the method above I get a orthogonal modal matrix of

{{0.57735, -0.57735, 0.57735}, {-0.57735, 0.211325, 0.788675}, {0.57735, 0.788675, 0.211325}}

which results in, for $ y = x^T . A . x $

{{y1}, {y2}, {y3}} == {{0.57735 x1 - 0.57735 x2 + 
0.57735 x3}, {-0.57735 x1 + 0.211325 x2 + 
0.788675 x3}, {0.57735 x1 + 0.788675 x2 + 0.211325 x3}}

rather than the exact form: $$ y_1 = \frac{1}{\sqrt{3}} x_1 - \frac{1}{\sqrt{3}} x_2 + \frac{1}{\sqrt{3}} x_3 $$ $$ y_2 = \frac{1}{\sqrt{2}} x_2+\frac{1}{\sqrt{2}} x_3 $$ $$ y_3 = \frac{2}{\sqrt{6}} x_1 + \frac{1}{\sqrt{6}} x_2 - \frac{1}{\sqrt{6}} x_3 $$

How can I get this exact form using Mathematica commands?

share|improve this question

1 Answer 1

Works nicely:

Orthogonalize[First[JordanDecomposition[{{1, 1/2, -1/2}, {1/2, 1, 1/2}, {-1/2, 1/2, 1}}]]]
   {{1/Sqrt[3], -1/Sqrt[3], 1/Sqrt[3]},
    {-1/Sqrt[2], 0, 1/Sqrt[2]},
    {1/Sqrt[6], Sqrt[2/3], 1/Sqrt[6]}}
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.