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

constructEmbedding -- constructs an embedding of a polynomial system



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+(.380139-.924929*ii)*zz1, x^3-z+(-.45571+.890128*ii)*zz1, zz1, (-.205377-.978683*ii)*x+(.943327-.331864*ii)*y+(.673112+.739541*ii)*z+(-.911067-.412259*ii)*zz1-.883724+.468009*ii}

Note that the ring of the original system is extended with k slack variables. 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+(-.97755+.210704*ii)*ss1+(.380139-.924929*ii)*zz1, x^3-z+(-.688326-.725402*ii)*ss1+(-.45571+.890128*ii)*zz1, x*y-z+(-.997759-.0669093*ii)*ss1+(-.930099+.36731*ii)*zz1, -y^2+x*z+(-.767756-.640743*ii)*ss1+(-.883724+.468009*ii)*zz1, (.943327-.331864*ii)*x+(.673112+.739541*ii)*y+(-.911067-.412259*ii)*z+(.547606+.836736*ii)*ss1+(-.663772-.747935*ii)*zz1-.205377-.978683*ii}

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

Ways to use constructEmbedding :