Examples
User documentation
This file offers some functions for working with homomorphisms between (quotients of) polynomial algebras.
Queries and views
Let phi be a RingHom from R to S where both rings are
either polynomial rings or quotients of polynomial rings.
IsInjective(phi)--trueiffphiis injectiveIsSurjective(phi)--trueiffphiis surjectiveIsInImage(phi,y)--trueiffyis in the image ofphi
Operations
Let phi be a RingHom from R to S where both rings are
either polynomial rings or quotients of polynomial rings.
ker(phi)-- computes the kernel ofphias an ideal inRpreimage(phi,y)-- computes an elementxofRsuch thatphi(x) = y; throws an exception ifyis not in the image ofphipreimage0(phi,y)-- computes an elementxofRsuch thatphi(x) = y; returnszero(domain(phi))ifyis not in the image ofphi
Maintainer documentation
The centrepiece is the structure RichRingHom which contains several
components useful for actually doing the computation. In particular,
all operations require computation in a new ring RS which contains "orthogonal"
copies of the polynomial rings in R and S There are natutal homomorphisms
from RS to R and from S into RS.
The hope is that this structure will be memorized inside the RingHom
object so that it does not need to be recomputed.
Bugs, shortcomings and other ideas
Maintainer doc is very incomplete. The algorithms are not especially hard, but they are also not so simple. Reference to K+R book?
Main changes
2017
- July (v0.99556): first release (ported from CoCoA-5 package)