Home Online Manual
Back: fetchall
Forward: mapall
Up: ring_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.2.11.9 imapall

Procedure from library ring.lib (see ring_lib).

imapall(R[,s]); R=ring/qring, s=string

map all objects of ring R (of type poly/ideal/vector/module/number/matrix) into the basering by applying imap to all objects of R. If no 2nd argument is present, the names are the same as in R. If, say, f is a polynomial in R and the 3rd argument is the string "R", then f is mapped to f_R etc.

no return value

As imap, this procedure maps the variables of R to the variables with the same name in the basering, the other variables are mapped to 0. The 2nd argument is useful in order to avoid conflicts of names, the empty string is allowed

imapall does not work for locally defined names.
It does not work if R contains a map

LIB "ring.lib";
// The example is not shown since imapall does not work in a procedure
// (and hence not in the example procedure). Try the following commands:
//   ring R=0,(x,y,z,u),dp;
//   ideal j=x,y,z,u2+ux+z;
//   matrix M[2][3]=1,2,3,x,y,uz;
//   j; print(M);
//   ring S=0,(a,b,c,x,z,y),ds;
//   imapall(R);         //map from R to S: x->x, y->y, z->z, u->0
//   names(S);
//   j; print(M);
//   imapall(S,"1");     //identity map of S: copy objects, change names
//   names(S);
//   kill R,S;
See also: fetchall.