up previous next
2.10.1 Introduction to RINGHOM
|
A variable
X
containing an INT or a RAT can be immediately
used within any RING.
But an object
X
of other types, such as RINGELEM, IDEAL, MAT,.. can be
used only within its own RING,
RingOf(X)
.
Such an object can be mapped into another RING using a
RINGHOM
:
think mathematically ;-)
Most likely, the only function you need to use is just
CanonicalHom
which returns the canonical homomorphism
between two rings (if there is one).
Given a RINGHOM
phi
just type
phi(x)
if
x
is a RINGELEM,
apply(phi, x)
if
x
is a LIST or MAT.
However, there are also a few handy shortcuts silently determining and
applying a homomorphism:
the functions
matrix
and
RingElem
map the argument into the given ring
(e.g.
matrix(R, M)
maps
M
into a new matrix in the ring
R
).
Another shortcut is
BringIn
(easy, but slow).
NOTE: all CoCoA functions should be smart enough to take into account
the RING in which their value was defined, for example
GBasis
,
LT
,
wdeg
,...
NOTE:
QZP
,
ZPQ
are NOT YET IMPLEMENTED.