Home Online Manual
Top
Back: quotient (plural)
Forward: ringlist (plural)
FastBack:
FastForward:
Up: Functions (plural)
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

7.3.23 reduce (plural)

Syntax:

reduce ( poly_expression, ideal_expression )
reduce ( poly_expression, ideal_expression, int_expression )
reduce ( vector_expression, ideal_expression )
reduce ( vector_expression, ideal_expression, int_expression )
reduce ( vector_expression, module_expression )
reduce ( vector_expression, module_expression, int_expression )
reduce ( ideal_expression, ideal_expression )
reduce ( ideal_expression, ideal_expression, int_expression )
reduce ( module_expression, ideal_expression )
reduce ( module_expression, ideal_expression, int_expression )
reduce ( module_expression, module_expression )
reduce ( module_expression, module_expression, int_expression )

Type:
the type of the first argument
Purpose:
reduces a polynomial, vector, ideal or module to its left normal form with respect to an ideal or module represented by a left Groebner basis, if the second argument is a left Groebner basis.
returns 0 if and only if the polynomial (resp. vector, ideal, module) is an element (resp. subideal, submodule) of the ideal (resp. module).
Otherwise, the result may have no meaning.
The third (optional) argument 1 of type int forces a reduction which considers only the leading term and does no tail reduction.
Note:
The commands reduce and NF are synonymous.
Example:
 
ring r=(0,a),(e,f,h),Dp;
matrix d[3][3];
d[1,2]=-h;  d[1,3]=2e;  d[2,3]=-2f;
def R=nc_algebra(1,d);
setring R;
// this algebra is U(sl_2) over Q(a)
ideal I = e2, f2, h2-1;
I = std(I);
// print a compact presentation of I
print(matrix(I));
==> h2-1,fh-f,f2,eh+e,2*ef-h2-h,e2
ideal J = e, h-a;
J = std(J);
// print a compact presentation of J
print(matrix(J));
==> h+(-a),e
poly z=4*e*f+h^2-2*h;
// z is the central element of U(sl_2)
reduce(z,I);  // the central character of I:
==> 3
reduce(z,J); // the central character of J:
==> (a2+2a)
poly nz = z - NF(z,J); // nz will belong to J
reduce(nz,J);
==> 0
reduce(I,J);
==> _[1]=(a2-1)
==> _[2]=(a-1)*f
==> _[3]=f2
==> _[4]=0
==> _[5]=(-a2+a)
==> _[6]=0

See also ideal (plural); module (plural); std (plural).