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

D.2.4.13 envelopdg

Procedure from library grobcov.lib (see grobcov_lib).

Usage:
envelopdg(L);
The input list L must be the output of the call to
the routine 'envolop' of the family of curves

Return:
The relevant components of the envelop in Dynamic Geometry. 'Normal' and 'Accumulation' components are always considered 'Relevant'. 'Special' components of the envelop outputs three objects in its characterization: 'Special', the antiimage ideal, and the integer 0 or 1, that indicates that the given component is formed (1) or is not formed (0) by curves of the family. Only if yes, 'envelopdg' considers the component as 'Relevant' .

Note:
It must be called to the output of the 'envelop' routine. The basering R, must be of the form Q[a,b,..][x,y,..].

Example:
 
LIB "grobcov.lib";
// 1. Take a fixed line l: x1-y1=0  and consider
//    the family F of a lines parallel to l passing through the mover point M
// 2. Consider a circle x1^2+x2^2-25, and a mover point M(x1,x2) on it.
// 3. Compute the envelop of the family of lines.
ring R=(0,x,y),(x1,y1),lp;
short=0;
poly F=(y-y1)-(x-x1);
ideal C=x1^2+y1^2-25;
short=0;
// Curves Family F=
F;
==> x1-y1+(-x+y)
// Conditions C=
C;
==> C[1]=x1^2+y1^2-25
envelop(F,C);
==> [1]:
==>    [1]:
==>       _[1]=(x^2-2*x*y+y^2-50)
==>    [2]:
==>       [1]:
==>          _[1]=1
==>    [3]:
==>       [1]:
==>          Special
==>       [2]:
==>          2*y1^2-25,x1+y1
==>       [3]:
==>          1
==>    [4]:
==>       1
envelopdg(envelop(F,C));
==> [1]:
==>    [1]:
==>       _[1]=(x^2-2*x*y+y^2-50)
==>    [2]:
==>       [1]:
==>          _[1]=1
==>    [3]:
==>       Relevant
==>    [4]:
==>       1