Home Online Manual
Top
Back: moddiq_lib
Forward: modSat
FastBack:
FastForward:
Up: moddiq_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.4.15.1 modQuotient

Procedure from library moddiq.lib (see moddiq_lib).

Usage:
modQuotient(I,J); I,J ideal

Return:
a standard basis of (I:J)

Note:
The procedure computes a standard basis of (I:J) (over the rational numbers) by using modular methods.

Example:
 
LIB "moddiq.lib";
ring r=0,x(1..6),dp;
ideal i=cyclic(6);
ideal j=-15*var(5)+16*var(6)^3-60*var(6)^2+225*var(6)-4,2*var(5)^2-7*var(5)+2*var(6)^2-7*var(6)+28,(4*var(6)-1)*var(5)-var(6)+4,4*var(1)+var(5)+var(6),4*var(2)+var(5)+var(6),4*var(3)+var(5)+var(6),4*var(4)+var(5)+var(6); 
modQuotient(i,modQuotient(i,j));
==> _[1]=x(4)+1/4*x(5)+1/4*x(6)
==> _[2]=x(3)+1/4*x(5)+1/4*x(6)
==> _[3]=x(2)+1/4*x(5)+1/4*x(6)
==> _[4]=x(1)+1/4*x(5)+1/4*x(6)
==> _[5]=x(5)*x(6)-1/4*x(5)-1/4*x(6)+1
==> _[6]=x(5)^2+x(6)^2-7/2*x(5)-7/2*x(6)+14
==> _[7]=x(6)^3-15/4*x(6)^2-15/16*x(5)+225/16*x(6)-1/4
ideal id2=x(1)^2+x(1)*x(2)*x(3),x(2)^2-x(3)^3*x(2),x(3)^3+x(2)^5*x(1)*x(3);
quotient(id2,maxideal(3));
==> _[1]=x(1)*x(2)*x(3)+x(1)^2
==> _[2]=x(2)*x(3)^3-x(2)^2
==> _[3]=x(1)*x(3)^3+x(2)^2*x(3)
==> _[4]=x(1)^2*x(3)^2+x(1)*x(2)^2
==> _[5]=x(2)^3*x(3)+x(1)*x(2)^2
==> _[6]=x(2)^4+x(1)^3
==> _[7]=x(1)*x(2)^3-x(1)^3*x(3)
==> _[8]=x(1)^5+x(3)^3
==> _[9]=x(3)^6-x(2)^2
==> _[10]=x(1)^4*x(2)^2-x(3)^5
See also: modular; quotient.