Home > Software design >  Exact orthogonalization of vectors in Wolfram
Exact orthogonalization of vectors in Wolfram

Time:08-12

What I have is a matrix, I need to orthogonolize its eigen vectors.

That is basically all I need, but in exact form.

So here is my wolfram input

(orthogonolize(eigenvectors({{146, 112, 78, 17, 122}, {112, 86, 60, 13, 94}, {78, 60, 42 , 9, 66}, {17, 13, 9, 2, 14}, {122, 94, 66, 14, 104}})))

That gives me float numbers, while I need the exact forms.

Any ways to fix this?

CodePudding user response:

Wolfram Mathematica, not WolframAlpha which is a completely different product with different rules and gives different results, given this

FullSimplify[Orthogonalize[Eigenvectors[{
  {146, 112, 78, 17, 122}, {112, 86, 60, 13, 94}, {78, 60, 42 , 9, 66}, 
  {17, 13, 9, 2, 14}, {122, 94, 66, 14, 104}}]]]

returns this exact form

{{Sqrt[121/342   52/(9*Sqrt[35587])], Sqrt[5/38   18/Sqrt[35587]], 
  Sqrt[25/342   64/(9*Sqrt[35587])], Sqrt[7/38 - 26/Sqrt[35587]]/3, 
  2*Sqrt[2/19 - 7/Sqrt[35587]]},
 {-1/3*Sqrt[121/38 - 52/Sqrt[35587]], -Sqrt[5/38 - 18/Sqrt[35587]],
  Sqrt[25/38 - 64/Sqrt[35587]]/3, -1/3*Sqrt[7/38   26/Sqrt[35587]],
  Sqrt[8/19   28/Sqrt[35587]]}, 
 {3/Sqrt[35], -Sqrt[5/7], 0, 0, 1/Sqrt[35]},
 {-11/Sqrt[5110], -Sqrt[5/1022], 0, Sqrt[70/73], 4*Sqrt[2/2555]},
 {-17/(3*Sqrt[2774]), -7/Sqrt[2774], Sqrt[146/19]/3, Sqrt[2/1387]/3, -9*Sqrt[2/1387]}}

Think of at least two different ways you can check that for correctness before you depend on that.

The last three of those can be simplified somewhat

1/Sqrt[35]*{3,-5,0,0,1},
1/Sqrt[5110]*{-11,-5,0,70,8},
1/(3*Sqrt[2774])*{-17,-21,146,2,-54}

but I cannot yet see a way to simplify the first two to a third of their current size. Can anyone else see a way to do that? Please check these results very carefully.

  • Related