I'm trying to solve a generalized eigenvalue problem and ran across a warning

Eigensystem::geinsl1: Warning: a solution for the generalized eigenproblem may be incorrect.

Here's a minimal working example:

A = a IdentityMatrix[3];
B = b IdentityMatrix[3];
Eigensystem[{A, B}]

Eigensystem::geinsl1: Warning: a solution for the generalized eigenproblem may be incorrect.

{{a/b, a/b, a/b}, {{0, 0, 1}, {0, 1, 0}, {1, 0, 0}}}

What is this warning really saying? That it can't check the answer? According to the documentation, the generalized eigenproblem solution satisfies the equation

m.Transpose[vectors] == a.Transpose[vectors].DiagonalMatrix[values]

which FullSimplify doesn't seem to have any problems with:

FullSimplify[A.Transpose[{{0, 0, 1}, {0, 1, 0}, {1, 0, 0}}] == B.Transpose[{{0, 0, 1}, {0, 1, 0}, {1, 0, 0}}].DiagonalMatrix[{a/b, a/b, a/b}]]


Thus the answer seems to be perfectly fine and WL is capable of checking it, so why the warning? Are there cases where the solution is actually incorrect? In this case, the culprit seems to be that the eigenvalues are all the same. Changing $B$ to

B = b {{1, 0, 0}, {0, 2, 0}, {0, 0, 3}}

and computing the same eigenproblem, the warning disappears.

I'm running V12.1 on macOS.

Edit: running Eigenvalues and CharacteristicPolynomial works fine, but Eigenvectors spits out the same warning:

Running Eigenvalues, Eigenvectors and CharacteristicPolynomial

  • $\begingroup$ I don't get the warning on 11.2. What version is this? What you have is a perfectly admissible pencil, so there shouldn't be any trouble with generating its eigensystem. $\endgroup$ – J. M.'s technical difficulties May 6 at 8:56
  • 1
    $\begingroup$ I’m on version 12.1, added this to the question too. $\endgroup$ – imas145 May 6 at 9:06
  • 1
    $\begingroup$ Just for consistency checking: do you get similar warning messages for Eigenvalues[{A, B}], Eigenvectors[{A, B}], and CharacteristicPolynomial[{A, B}, x]? $\endgroup$ – J. M.'s technical difficulties May 6 at 9:15
  • 1
    $\begingroup$ The warning appears only on Eigenvectors, see edit (Eigenvectors returns a matrix, which is because I've set MMA to display 2D arrays as matrices by default) $\endgroup$ – imas145 May 6 at 11:31

Your Answer

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

Browse other questions tagged or ask your own question.