|
7.3.8 imap (plural)
Syntax:
imap ( ring_name, name )
Type:
- number, poly, vector, ideal, module, matrix or list
(the same type as the second argument)
Purpose:
- 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.
Example:
| 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);
option(redSB);
option(redTail);
abE = std(abE);
// here come characters (indeed, we have only one)
// that is a maximal ideal in K[p4,p5]
abE;
==> 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).
|