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

7.3.8 imap (plural)

imap ( ring_name, name )
number, poly, vector, ideal, module, matrix or list (the same type as the second argument)
identity map on common subrings. imap is the map between rings and qrings with compatible ground fields which is the identity on variables and parameters of the same name and 0 otherwise. (See map (plural) for a description of possible mappings between different ground fields). Useful for mappings from a homogenized ring to the original ring or for mappings from/to rings with/without parameters. Compared with fetch, imap uses the names of variables and parameters. Unlike map and fetch, imap can map parameters to variables.
LIB "ncalg.lib";
ring ABP=0,(p4,p5,a,b),dp; //  a commutative ring
def Usl3 = makeUsl(3);
def BIG  = Usl3+ABP;
setring BIG;
poly P4 = 3*x(1)*y(1)+3*x(2)*y(2)+3*x(3)*y(3);
P4 = P4 +h(1)^2+h(1)*h(2)+h(2)^2-3*h(1)-3*h(2);
// P4 is a central element of Usl3 of degree 2
poly P5 = 4*x(1)*y(1) + h(1)^2 - 2*h(1);
// P5 is a central element of the subalgebra of U(sl_3),
// generated by x(1),y(1),h(1)
ideal J = x(1),x(2),h(1)-a,h(2)-b;
// we are interested in the module U(sl_3)/J,
// which depends on parameters a,b
ideal I = p4-P4, p5-P5;
ideal K = I, J;
ideal E = eliminate(K,x(1)*x(2)*x(3)*y(1)*y(2)*y(3)*h(1)*h(2));
E; // this is the ideal of central characters in ABP
==> E[1]=a*b+b^2-p4+p5+a+3*b
==> E[2]=a^2-p5+2*a
==> E[3]=b^3+p4*a-p5*a-a^2-p4*b+3*b^2
// what are the characters on nonzero a,b?
ring abP = (0,a,b),(p4,p5),dp;
ideal abE = imap(BIG, E);
abE = std(abE);
// here come characters (indeed, we have only one)
// that is a maximal ideal in K[p4,p5]
==> abE[1]=p5+(-a^2-2*a)
==> abE[2]=p4+(-a^2-a*b-3*a-b^2-3*b)
See fetch (plural); map (plural); qring (plural); ring (plural).