Home Online Manual
Back: envelope
Forward: imap (plural)
Up: Functions (plural)
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

7.3.7 fetch (plural)

fetch ( ring_name, name )
number, poly, vector, ideal, module, matrix or list (the same type as the second argument)
maps objects between rings. fetch is the identity map between rings and qrings, the i-th variable of the source ring is mapped to the i-th variable of the basering. The coefficient fields must be compatible. (See map (plural) for a description of possible mappings between different ground fields).
fetch offers a convenient way to change variable names or orderings, or to map objects from a ring to a quotient ring of that ring or vice versa.
Compared with imap, fetch uses the position of the ring variables, not their names.
LIB "ncalg.lib";
def Usl2 = makeUsl2(); // this algebra is U(sl_2)
setring Usl2;
poly  C  = 4*e*f+h^2-2*h; // the central element of Usl2
ideal I  = e^3,f^3,h^3-4*h;
ideal J  = twostd(I);
 // print a compact presentation of J:
print(matrix(ideal(J[1..5]))); // first 5 generators
==> h3-4h,fh2-2fh,eh2+2eh,f2h-2f2,2efh-h2-2h
print(matrix(ideal(J[6..size(J)]))); // last generators
==> e2h+2e2,f3,ef2-fh,e2f-eh-2e,e3
ideal QC = twostd(C-8);
qring Q  = QC;
ideal QJ = fetch(Usl2,J);
QJ = std(QJ);
// thus QJ is the image of I in the factor-algebra QC
print(matrix(QJ)); // print QJ compactly
==> h3-4h,fh2-2fh,eh2+2eh,f2h-2f2,e2h+2e2,f3,e3
See imap (plural); map (plural); qring (plural); ring (plural).