Home Online Manual
Top
Back: discrim
Forward: inout_lib
FastBack:
FastForward:
Up: grobcov_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.2.4.20 WLemma

Procedure from library grobcov.lib (see grobcov_lib).

Usage:
WLemma(F,A[,options]);
The first argument ideal F in K[a][x];
The second argument ideal A in K[a].
Calling sequence:
ring R=(0,x_1,..,x_n),(u_1,..,u_m),lp;
ideal F=f1(x_1,..,x_n,u_1,..,u_m),..,fs(x_1,..,x_n,u_1,..,u_m); ideal A=g_1(u_1,..u_m),..,g_s(u_1,..u_m);
list # : Options
Calling sequence:
WLemma(F,A[,options]);

Options:
either ("rep", 0) or ("rep",1) the representation of the resulting segment, by default is
0 =P-representation, (default) but can be set to
1=C-representation.

Return:
list of [lpp,B,S] = [leading power product, basis, segment], being B the reduced Groebner Basis given by I-regular functions in full representation, of the specialized ideal F on the segment S given in P- or C-representation. It is the result of Wibmer's Lemma. See A. Montes , M. Wibmer, "Groebner Bases for Polynomial Systems with parameters". JSC 45 (2010) 1391-1425.)
or the not yet published book
A. Montes. "Discussing Parametric Polynomial Systems: The Groebner Cover"

Note:
The basering R, must be of the form Q[a][x] (a=parameters, x=variables).

Example:
 
LIB "grobcov.lib";
if(defined(R)){kill R;}
if(defined(R)){kill R;}
ring R=(0,a,b,c,d,e,f),(x,y),lp;
ideal F=a*x^2+b*x*y+c*y^2,d*x^2+e*x*y+f*y^2;
ideal A=a*e-b*d;
WLemma(F,A);
==> [1]:
==>    _[1]=y2
==>    _[2]=x2
==> [2]:
==>    [1]:
==>       _[1]=(af-cd)*y2
==>    [2]:
==>       _[1]=(d)*x2+(e)*xy+(f)*y2
==>       _[2]=(a)*x2+(b)*xy+(c)*y2
==> [3]:
==>    [1]:
==>       [1]:
==>          _[1]=(ae-bd)
==>       [2]:
==>          [1]:
==>             _[1]=(d)
==>             _[2]=(a)
==>          [2]:
==>             _[1]=(bf-ce)
==>             _[2]=(af-cd)
==>             _[3]=(ae-bd)
WLemma(F,A,"rep",1);
==> [1]:
==>    _[1]=y2
==>    _[2]=x2
==> [2]:
==>    [1]:
==>       _[1]=(af-cd)*y2
==>    [2]:
==>       _[1]=(d)*x2+(e)*xy+(f)*y2
==>       _[2]=(a)*x2+(b)*xy+(c)*y2
==> [3]:
==>    [1]:
==>       _[1]=(ae-bd)
==>    [2]:
==>       _[1]=(bdf-cde)
==>       _[2]=(af-cd)
==>       _[3]=(ae-bd)