|
D.2.4.18 FamElemsAtEnvCompPoints
Procedure from library grobcov.lib (see grobcov_lib).
- Usage:
- FamElemsAtEnvCompPoints(poly F,ideal C,ideal E);
poly F must be the family of hyper-surfaces whose
envelope is analyzed. It must be defined in the ring
R=Q[x_1.,,x_n][u_1,..,u_m],
ideal C must be the ideal of restrictions on the
variables u1,..um.
Must contain less polynomials than m.
ideal E must be a component of
envelop(F,C), previously computed.
After computing the envelop of a family of
hyper-surfaces F, with constraints C,
Consider a component with top E. The call to
FamElemsAtEnvCompPoints(F,C,E)
returns the parameter values of the
set of all hyper-surfaces of the family passing at
one point of the envelop component E.
Calling sequence:
ring R=(0,x_1,..,x_n),(u_1,..,u_m),lp;
poly F=F(x_1,..,x_n,u_1,..,u_m);
ideal C=g_1(u_1,..u_m),..,g_s(u_1,..u_m);
poly E(x_1,..,x_n);
FamElemsAtEnvCompPoints(F,C,E[,options]);
- Return:
- list [lpp,basis,segment]. The basis determines
the parameter values of the of hyper-surfaces that
pass at a fixed point of the envelop component E.
The lpp determines the dimension of the set.
The segment is the component and is given in Prep.
Fixing the values of (x_1,..,x_n) inside E, the basis
allows to detemine the values of the parameters
(u_1,..u_m), of the hyper-surfaces passing at a point
of E. See the book
A. Montes. "The Groebner Cover" (Discussing
Parametric Polynomial Systems).
- Note:
- grobcov is called internally.
The basering R, must be of the form Q[a][x]
(a=parameters, x=variables).
Example:
| LIB "grobcov.lib";
if(defined(R)){kill R;}
ring R=(0,y0,x,y),(t),dp;
short=0;
poly F=(x-5*t)^2+y^2-3^2*t^2;
F;
==> 16*t^2+(-10*x)*t+(x^2+y^2)
ideal C;
C;
==> C[1]=0
def Env=envelop(F,C);
Env;
==> [1]:
==> [1]:
==> _[1]=(3*x+4*y)
==> [2]:
==> [1]:
==> _[1]=1
==> [3]:
==> [1]:
==> 1
==> [2]:
==> Special
==> [3]:
==> _[1]=0
==> [2]:
==> [1]:
==> _[1]=(3*x-4*y)
==> [2]:
==> [1]:
==> _[1]=1
==> [3]:
==> [1]:
==> 1
==> [2]:
==> Special
==> [3]:
==> _[1]=0
// E is a component of the envelop:
ideal E=Env[1][1];
E;
==> E[1]=(3*x+4*y)
def A=AssocTanToEnv(F,C,E);
A;
==> [1]:
==> [1]:
==> _[1]=t
==> [2]:
==> _[1]=12*t+(5*y)
==> [3]:
==> [1]:
==> [1]:
==> _[1]=(3*x+4*y)
==> [2]:
==> [1]:
==> _[1]=1
// The basis of the parameter values of the associated
// tangent component is
A[1][2][1];
==> 12*t+(5*y)
// Thus t=(5/12)*y0, and the assocoated tangent family
// element at (x0,y0) is
subst(F,t,(5/12)*y0);
==> (50*y0^2-75*y0*x+18*x^2+18*y^2)/18
FamElemsAtEnvCompPoints(F,C,E);
==> [1]:
==> [1]:
==> _[1]=t^2
==> [2]:
==> _[1]=144*t^2+(120*y)*t+(25*y^2)
==> [3]:
==> [1]:
==> [1]:
==> _[1]=(3*x+4*y)
==> [2]:
==> [1]:
==> _[1]=1
// Thus (12*t^2-5*y0)^2=0 and the unique circle of the
// family passing at (x0,y0) in E is the associated
// tangent circle:
subst(F,t,(5/12)*y0);
==> (50*y0^2-75*y0*x+18*x^2+18*y^2)/18
|
|