title: Computation of symbolic eigenvalues with sympy
body: <p>I'm trying to compute eigenvalues of a symbolic complex matrix <code>M</code>of size <code>3x3</code>. In some cases, <code>eigenvals()</code> works perfectly. For example, the following code:</p>
  
  <pre><code>import sympy as sp
  
  kx = sp.symbols('kx')
  x = 0.
  
  M = sp.Matrix([[0., 0., 0.], [0., 0., 0.], [0., 0., 0.]])
  M[0, 0] = 1. 
  M[0, 1] = 2./3.
  M[0, 2] = 2./3.
  M[1, 0] = sp.exp(1j*kx) * 1./6. + x
  M[1, 1] = sp.exp(1j*kx) * 2./3.
  M[1, 2] = sp.exp(1j*kx) * -1./3.
  M[2, 0] = sp.exp(-1j*kx) * 1./6.
  M[2, 1] = sp.exp(-1j*kx) * -1./3.
  M[2, 2] = sp.exp(-1j*kx) * 2./3.
  
  dict_eig = M.eigenvals()
  </code></pre>
  
  <p>returns me 3 correct complex symbolic eigenvalues of <code>M</code>. However, when I set <code>x=1.</code>, I get the following error:</p>
  
  <blockquote>
    <p>raise MatrixError("Could not compute eigenvalues for {}".format(self))</p>
  </blockquote>
  
  <p>I also tried to compute eigenvalues as follows:</p>
  
  <pre><code>lam = sp.symbols('lambda')
  cp = sp.det(M - lam * sp.eye(3))
  eigs = sp.solveset(cp, lam)
  </code></pre>
  
  <p>but it returns me a <code>ConditionSet</code> in any case, even when <code>eigenvals()</code> can do the job.</p>
  
  <p>Does anyone know how to properly solve this eigenvalue problem, for any value of <code>x</code>?</p>