Rotate

Matrix.Rotate($M$,$U$) makes the matrix transformation $U^* . M . U^T$.

Example

Input

Example.Quanty
M = Matrix.New({{ 1, I, 2, I},
                {-I, 1, I, 2},
                { 2,-I, 4, I},
                {-I, 2,-I, 4}})
val, fun = Matrix.Eigensystem(M)
 
Mdiag = Chop(Rotate(M,fun))
print(Mdiag)

Result

{ { -1.1401 ,  0      ,  0      ,  0      } ,
  {  0      ,  0.6972 ,  0      ,  0      } ,
  {  0      ,  0      ,  4.3028 ,  0      } ,
  {  0      ,  0      ,  0      ,  6.1401 } }

Table of contents

Print/export