next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
PHCpack :: constructEmbedding

constructEmbedding -- constructs an embedding of a polynomial system

Synopsis

Description

To compute generic points of a k-dimensional solution set of a polynomial system, we add k random linear equations to the system.

i1 : R = CC[x,y,z];
i2 : f = { x^2 - y, x^3 - z };
i3 : fe1 = constructEmbedding(f,1);
i4 : toString fe1

o4 = {x^2-y+(.934667+.355524*ii)*zz1, x^3-z+(-.0847828+.996399*ii)*zz1, zz1,
     (-.572854-.819658*ii)*x+(-.824003-.566585*ii)*y+(.00702545-.999975*ii)*z
     +(.964285+.264868*ii)*zz1+.0513446-.998681*ii}

Note that the ring of the original system is extended with k slack variables. The slack variables start with zz. Solutions of the embedded system with zero values for the slack variables are candidate generic points.

If the input system is overdetermined (there are more equations than unknowns), then as many surplus variables are introduced as the difference between the number of equations and the number of variables. Surplus variables start with ss.

i5 : R = CC[x,y,z];
i6 : f = { x^2-y, x^3-z, x*y-z, x*z-y^2 };
i7 : fe1 = constructEmbedding(f,1);
i8 : toString fe1

o8 = {x^2-y+(-.429165-.903226*ii)*ss1+(.714253+.699887*ii)*zz1,
     x^3-z+(-.0582899-.9983*ii)*ss1+(-.30047-.953791*ii)*zz1,
     x*y-z+(.0577689+.99833*ii)*ss1+(.822596-.568627*ii)*zz1,
     -y^2+x*z+(.651957+.758256*ii)*ss1+(.74634+.665565*ii)*zz1,
     (-.976263+.216588*ii)*x+(-.993524-.11362*ii)*y+(.871737+.489974*ii)*z
     +(-.195836-.980637*ii)*ss1+(.999757-.0220546*ii)*zz1+.997386+.0722627*ii
     }

In the example above, the system f has four equations in three unknowns, constructEmbedding adds one surplus variable ss1 and one slack variable zz1. Only solutions with zero values for the surplus variable ss1 are relevant.

Ways to use constructEmbedding :