Thank you, Mohamed, for suggesting a general solution. It may be useful to other users, so I am replying to the forum rather than privately. I hope you don't mind. Also, thank you to Alexander Hulpke for implementing the special case for symmetric polynomials.
Best regards, Anvita On Sun, May 10, 2015 at 1:19 PM, Mohamed Barakat < mohamed.bara...@rwth-aachen.de> wrote: > Dear Anvita, > > this is a special case of computing the image of a subscheme under a > morphism of schemes, which is supported in the homalg project; homalg needs > an external computer algebra system with a Gröbner basis engine. If you > have Singular installed and the GAP package IO compiled on a unix machine > then the following code should work: > > gap> LoadPackage( "GradedModules" ); > true > gap> Q := HomalgFieldOfRationalsInSingular( ); > Q > gap> A := Q * "x,y"; > Q[x,y] > gap> I := LeftSubmodule( "x^2+y^2", A ); > <A principal torsion-free (left) ideal given by a cyclic generator> > gap> S := A / I; > Q[x,y]/( x^2+y^2 ) > gap> AssignGeneratorVariables( S ); > #I Assigned the global variables [ x, y ] > gap> T := Q * "e,f"; > Q[e,f] > gap> phi := RingMap( [ x+y, x*y ], T, S ); > <A "homomorphism" of rings> > gap> J := KernelSubobject( phi ); > <A principal torsion-free (left) ideal given by a cyclic generator> > gap> j := MatrixOfSubobjectGenerators( J ); > <A 1 x 1 matrix over an external ring> > gap> Assert( 0, NrRows( j ) = 1 ); > gap> result := MatElm( j, 1, 1 ); > e^2-2*f > > Best wishes, > > Mohamed > > _______________________________________________ Forum mailing list Forum@mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum