Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

One structural way of obtaining the answer you want is to first define the homomorphism from the laurent series ring to CC (or whatever ring you want); in your case the one obtained from substituting a particular complex value for x:

sage: s=Hom(R,CC)(2)
sage: s
Ring morphism:
  From: Univariate Laurent Polynomial Ring in x over Complex Field with 53 bits of precision
  To:   Complex Field with 53 bits of precision
  Defn: 1.00000000000000*x |--> 2.00000000000000

Making sure this gets applied to a matrix properly is now just (tedious) bookkeeping:

sage: mm=matrix(s.codomain(),m.nrows(),m.ncols(),[s(n) for n in m.list()] )
sage: mm.eigenvalues()
... UserWarning ...
[2.00000000000000]

Ideally, sage would know how to do the bookkeeping so that the definition of mm above can be written as

sage: mm=m.change_ring(s)
<doesn't work currently>