2
$\begingroup$

Bug introduced in 9.0 or earlier and persisting through version 10. Fixed for version 11.0.1


What causes the problem of "two eigenvectors associated to one single multiplicity eigenvalue" that I am experiencing?

After several transformations to simplify an unwieldy matrix, I end up with the following matrix:

tst = 
  {{-0.4, 201.335 b, 0, 0, 0, 0.2, 0, 67.1116 c, 0, 0}, 
   {0, -2.5, 0, 0, 0, 0.000125, 0, 0, 0, 0}, 
   {-84.0569 a, 0., -0.0625 + 0.0208333 n, 0., 0.194982, 0., -0.625, -0.0654762, 
      120.081 d, -120.081 e}, 
   {0, -1.52*10^-7, 0, -16., 0, 0, 0, 0, 0, 0}, 
   {0, 0. + 140.934 b, 0, 0., -0.4, 0.14, 0, 46.9781 c, 0, 0}, 
   {-672.455 a, 0., 1.5 + 0.166667 n, 0., 1.55986, -2., -5., -0.52381, 
      960.65 d, -960.65 e}, 
   {336.227 a, 0. + 503.337 b, -0.0833333 n, 0., -0.77993, 0.5, 0, 0.261905 + 167.779 c, 
      -480.325 d, 480.325 e}, 
   {-336.227 a, 0, 0.0833333 n, 0, 0, 0, 0, -0.333333, 480.325 d, -480.325 e}, 
   {0, 0., 0, 0., 0, 0., 0, 0, 0., 0}, 
   {0, 8.3125*10^-12/r^2, 0, 0, 0, 0, 0, 0,0, 0}}

The symbols a to r stand for lengthy formulae that I plan to resubstitute later on.

I want to compute the eigen system symbolically. However, after

Eigensystem[tst];

I get the following message:

Eigensystem::eivn: Incorrect number 2 of eigenvectors for eigenvalue Root[<<14>>+(<<1>>) #1^6+(104.294 r^4+134.491 a r^4+22564.8 a c r^4-0.497321 n r^4) #1^7+(21.6958 r^2-0.0208333 n r^2) #1^8+1. #1^9&,1] with multiplicity 1.

The eigenvalues come out fine. However, the eigenvectors are different from what I expected and I get a rank 6 matrix where I should get a rank 9 one.

The numerical equivalent consistently shows, over the time domain, that this 10 x 10 matrix has rank 9 with two distinct complex eigenvalue pairs, so I cannot figure out where the "two eigenvectors associated to one single multiplicity eigenvalue" message comes from.

When I substitute the time values for the functions currently represented by variables a to r (I kept the system time invariant), the following can be shown:

tst /. 
 {b -> 14.9006, c -> 0.000302268, a -> 0.000505923, n -> 9.85915, 
  e -> 1.01185*10^9, d -> 0.00252961, r -> 0.05}

Eigenvalues[%]
{-16., -3.20848, -0.57097 + 1.46864 I, -0.57097 - 1.46864 I, -0.4, -0.397966, 
 -0.159931 + 0.209588 I, -0.159931 - 0.209588 I, -0.0221849, 0.}

What causes this problem of "two eigenvectors associated to one single multiplicity eigenvalue"? How can I avoid this and the different and lower rank eigenvector set is returned?

$\endgroup$
  • 2
    $\begingroup$ You have asked and answered enough questions on this site that you should be aware of the norms for formatting posts that are expected here. Please do a better job of formatting your posts in the future. $\endgroup$ – m_goldberg Oct 17 '14 at 6:44
  • $\begingroup$ I have to admit I find the formatting here difficult. I realise this is not an excuse so my apologies. I will study your changes to learn from it. Thank you for your effort and support in adjusting this. $\endgroup$ – Sander Oct 17 '14 at 9:21
  • 1
    $\begingroup$ Might be a bug. The tandem of symbolic root objects and approximate numbers could give the internal code some fits. I will remark that if you rationalize the matrix this problem goes away, and the expense of the computation is probably not significantly different. $\endgroup$ – Daniel Lichtblau Oct 17 '14 at 13:44
  • 1
    $\begingroup$ Okay. I had tested in version 10. We're regarding this as a bug though I cannot give any prognosis. $\endgroup$ – Daniel Lichtblau Oct 17 '14 at 15:21
  • 1
    $\begingroup$ @Sander Simple Rationalize[tst] doesn't help because it leaves some floating point numbers. Try Rationalize[tst, 10^-10] instead. $\endgroup$ – ybeltukov Oct 18 '14 at 12:11
0
$\begingroup$

This has been resolved for version 11.

For versions predating this, use Rationalize[tst, 10^-10]

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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