Ask Your Question

Revision history [back]

Problem with UniversalCyclotomicField?

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