I have a matrix with 16 elements:

matrix = {{f1, -f2, -f2, f3 }, {f4, -f1, -f1, f2}, {f4, -f1, -f1, f2}, {f5, -f4, -f4, f1}}

I would like to calculate eigenvectors and eigenstates of the matrix, with additional assumption, that is elements f1, f2, f3, f4 and f5 are orthogonal. I've tried to call $Assumptions = f1*f2=f2*3 ... =0, but without luck. Any suggestions appreciated!

  • 1
    $\begingroup$ What do you mean by "elements are orthogonal"? The $Assumptions line contains syntax errors so we can't use it to infer unambiguously what you actually want or tried. $\endgroup$
    – Jens
    Commented May 15, 2016 at 15:52

1 Answer 1


Guessing OP meant f1*f2 == f1*f3 == f1* f4 == f1*f5 == f2*f3 == f2*f4 == f2*f5 == f3*f4 == f3*f5== f4*f5 ==0,

matrix = {{f1, -f2, -f2, f3}, {f4, -f1, -f1, f2}, {f4, -f1, -f1, f2}, {f5, -f4, -f4, f1}};
assumptions = Thread[(Subsets[Times[f1, f2, f3, f4, f5], {2}]) == 0];
ToRadicals @ FullSimplify[Eigensystem[matrix], Assumptions -> assumptions]

Mathematica graphics


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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