Tue Apr 15 00:34:31 2008 run on win32
I_setting(x,y,z);



torder revgradlex;


{{},lex}


u := I(x*z-y**2, x**3-y*z);


              2  3
u := i(x*z - y ,x  - y*z)

y member I(x,y^2);


0

x member I(x,y^2);


1

I(x,y^2) subset I(x,y);


1
         % yes
I(x,y) subset I(x,y^2);


0
         % no

% examples taken from Cox, Little, O'Shea: "Ideals, Varieties and Algorithms"




q1 := u .: I(x);


         3        2      2           2
q1 := i(x  - y*z,x *y - z , - x*z + y )
                        % quotient ideal

q2 := u .+ I(x^2 * y - z^2);


         3        2      2           2
q2 := i(x  - y*z,x *y - z , - x*z + y )
            % sum ideal

if q1 .= q2 then write "same ideal";


same ideal
    % test equality

intersection(u,I(y));


   3      2    2  2      2             3
i(x *y - y *z,x *y  - y*z , - x*y*z + y )
                   % ideal intersection

u .: I(y);


   3        2      2           2
i(x  - y*z,x *y - z , - x*z + y )


u .: I(x,y);


   3        2      2           2
i(x  - y*z,x *y - z , - x*z + y )


%-----------------------------------------------------

u1 := I(x,y^2);


           2
u1 := i(x,y )

u1u1:= u1 .* u1;


           4    2  2
u1u1 := i(y ,x*y ,x )
                       % square ideal
u0 :=I(x,y);


u0 := i(x,y)


% test equality/inclusion for u1,u1u1,u0

u1 .= u1u1;


0
     % no

u1 subset u1u1;


0
 % no

u1u1 subset u1;


1
 % yes

u1 .= u0;


0
       % no

u1 subset u0;


1
   % yes

intersection (I(x) , I(x^2,x*y,y^2)) .= intersection(I(x) , I(x^2,y));


1
 

end;


Time for test: 17 ms, plus GC time: 5 ms
