newCoordinateSystem(S,m) -- takes a one-rowed matrix m of independent linear forms over a ring R and returns a list {f,g}, where f is a ring map given by some linear change of coordinates from R to S which sends the last variables of R to the forms in m, and g is the inverse of f.
The ring S should have the same number of variables as S.
i1 : R = ZZ/101[a..d] |
i2 : S = ZZ/101[p..s] |
i3 : newCoordinateSystem(S,matrix{{a+2*b,3*c-d}}) |
Ways to use newCoordinateSystem :