Consider L=[[0, 1, 0], [1, 0, 1], [0, 1, 1]]
and M=matrix(CyclotomicField(7),L)
, then:
sage: M.eigenvalues()
[-zeta7^4 - zeta7^3, zeta7^5 + zeta7^4 + zeta7^3 + zeta7^2 + 1, -zeta7^5 - zeta7^2]
Now by taking N=matrix(UniversalCyclotomicField(),L)
I expected the following:
sage: N.eigenvalues()
[-E(7)^4 - E(7)^3, E(7)^5 + E(7)^4 + E(7)^3 + E(7)^2 + 1, -E(7)^5 - E(7)^2]
but I got the following error message:
sage: N.eigenvalues()
---------------------------------------------------------------------------
NotImplementedError Traceback (most recent call last)
<ipython-input-49-ae504b86ebb7> in <module>()
----> 1 T.eigenvalues()
/opt/sagemath-9.0/local/lib/python3.7/site-packages/sage/matrix/matrix2.pyx in sage.matrix.matrix2.Matrix.eigenvalues (build/cythonized/sage/matrix/matrix2.c:44161)()
6000
6001 res = []
-> 6002 for f, e in self.charpoly().change_ring(K).factor():
6003 if f.degree() == 1:
6004 res.extend([-f.constant_coefficient()]*e)
/opt/sagemath-9.0/local/lib/python3.7/site-packages/sage/rings/polynomial/polynomial_element.pyx in sage.rings.polynomial.polynomial_element.Polynomial.factor (build/cythonized/sage/rings/polynomial/polynomial_element.c:35771)()
4331 R = self._parent.base_ring()
4332 if hasattr(R, '_factor_univariate_polynomial'):
-> 4333 return R._factor_univariate_polynomial(self, **kwargs)
4334
4335 G = None
/opt/sagemath-9.0/local/lib/python3.7/site-packages/sage/rings/universal_cyclotomic_field.py in _factor_univariate_polynomial(self, f)
1682 m = p.is_cyclotomic(certificate=True)
1683 if not m:
-> 1684 raise NotImplementedError('no known factorization for this polynomial')
1685 for i in range(1, m):
1686 if gcd(m, i) == 1:
NotImplementedError: no known factorization for this polynomial