|
D.2.4.17 AssocTanToEnv
Procedure from library grobcov.lib (see grobcov_lib).
- Usage:
- AssocTanToEnv(poly F,ideal C,ideal E);
poly F must be the family of hyper-surfaces whose envelop is analyzed.
ideal C must be the ideal of restrictions on the variables for defining the family.
Must contain less polynomials than the dimension n of the space.
ideal E must be a component of the envelop of (F,C), previously computed by envelop.
(x_1,..,x_n) are the variables of the hypersurfaces of F, that are considered as parameters of the parametric ring.
(u_1,..,u_m) are the parameteres of the hyper-surfaces, that are considered as variables of the parametric ring.
Having computed an envelop component E of a family of hyper-surfaces F, with constraints C,
it returns the parameter values of the associated tangent hyper-surface 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);
AssocTanToEnv(F,C,E,[,options]);
- Return:
- list [lpp,basis,segment]. The basis determines the associated tangent hyper-surface at a point of the envelop
component E. The segment is given in Prep. See the not yet published book
A. Montes. "Discussing Parametric Polynomial Systems: The Groebner Cover".
- 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]:
==> Normal
==> [4]:
==> 1
==> [2]:
==> [1]:
==> _[1]=(3*x+4*y)
==> [2]:
==> [1]:
==> _[1]=1
==> [3]:
==> Normal
==> [4]:
==> 1
// 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 associated tangent component at (x0,y0) is
subst(F,t,(5/12)*y0);
==> (50*y0^2-75*y0*x+18*x^2+18*y^2)/18
// EXAMPLE
if(defined(R)){kill R;}
ring R=(0,x,y,z),(x1,y1,z1),dp;
short=0;
poly F=(x-x1)^2+(y-y1)^2+(z-z1)^2-1;
ideal C=(x1)^2+(y1)^2-1;
short=0;
def Env=envelop(F,C); Env;
==> [1]:
==> [1]:
==> _[1]=(x^2+y^2-4)
==> [2]:
==> [1]:
==> _[1]=1
==> [3]:
==> Normal
==> [4]:
==> 1
==> [2]:
==> [1]:
==> _[1]=(y)
==> _[2]=(x)
==> [2]:
==> [1]:
==> _[1]=1
==> [3]:
==> Accumulation
==> [4]:
==> 1
def E=Env[1][1];
AssocTanToEnv(F,C,E);
==> [1]:
==> [1]:
==> _[1]=z1
==> _[2]=y1
==> _[3]=x1
==> [2]:
==> _[1]=z1+(-z)
==> _[2]=2*y1+(-y)
==> _[3]=2*x1+(-x)
==> [3]:
==> [1]:
==> [1]:
==> _[1]=(x^2+y^2-4)
==> [2]:
==> [1]:
==> _[1]=1
def E1=Env[2][1];
AssocTanToEnv(F,C,E1);
==> [1]:
==> [1]:
==> _[1]=z1
==> _[2]=x1^2
==> [2]:
==> _[1]=z1+(-z)
==> _[2]=x1^2+y1^2-1
==> [3]:
==> [1]:
==> [1]:
==> _[1]=(y)
==> _[2]=(x)
==> [2]:
==> [1]:
==> _[1]=1
|
|