|
D.8.7.15 num_elim
Procedure from library recover.lib (see recover_lib).
- Usage:
- num_elim(I,f,D); ideal I, poly f, int D
f the product of the ring variables you want to eliminate
D a bound to the degree of the elements of the components
- Return:
- ideal: the ideal obtained from I by eliminating the variables specified in f
- Remarks:
- This procedure uses Bertini to compute a set of witness points for I, projects
them onto the components corresponding to the variables specified in f and then
proceeds as num_radical_via_randlincom.
- Note:
- Should only be called from a ring over the rational numbers.
Example:
| LIB "recover.lib";
ring r=0,(x,y,z),dp;
poly f1=x-y;
poly f2=z*(x+3y);
poly f3=z*(x2+y2);
ideal I=f1,f2,f3;
//First, we attempt to compute the elimination ideal with the hybrid algorithm.
ideal E1=num_elim(I,z,3,200);
==>
==> Bertini(TM) v1.6
==> (May 22, 2018)
==>
==> D.J. Bates, J.D. Hauenstein,
==> A.J. Sommese, C.W. Wampler
==>
==> (using GMP v6.0.0, MPFR v3.1.2)
==>
==>
==>
==> NOTE: You have requested to use adaptive path tracking. Please make sure\
that you have
==> setup the following tolerances appropriately:
==> CoeffBound: 4.000000000000e+00, DegreeBound: 3.000000000000e+00
==> AMPSafetyDigits1: 1, AMPSafetyDigits2: 1, AMPMaxPrec: 672
==>
==>
==> Tracking regeneration codim 1 of 2: 3 paths to track.
==> Tracking path 0 of 3
==> Tracking path 1 of 3
==> Tracking path 2 of 3
==>
==> Sorting codimension 1 of 2: 3 paths to sort.
==> Sorting 0 of 3
==> Sorting 1 of 3
==> Sorting 2 of 3
==>
==> Preparing regeneration codim 2 of 2: 3 witness points to move.
==> Moving 0 of 3
==> Moving 1 of 3
==> Moving 2 of 3
==>
==> Tracking regeneration codim 2 of 2: 6 paths to track.
==> Tracking path 0 of 6
==> Tracking path 1 of 6
==> Tracking path 2 of 6
==> Tracking path 3 of 6
==> Tracking path 4 of 6
==> Tracking path 5 of 6
==>
==> Sorting codimension 2 of 2: 6 paths to sort.
==> Sorting 0 of 6
==> Sorting 1 of 6
==> Sorting 2 of 6
==> Sorting 3 of 6
==> Sorting 4 of 6
==> Sorting 5 of 6
==>
==>
==> ************ Regenerative Cascade Summary ************
==>
==> NOTE: nonsingular vs singular is based on rank deficiency and identical e\
ndpoints
==>
==> |codim| paths |witness superset| nonsingular | singular |nonsolutions\
| inf endpoints | other bad endpoints
==> ----------------------------------------------------------------------------------------------------------------
==> | 1 | 3 | 0 | 0 | 0 | 3 \
| 0 | 0
==> | 2 | 6 | 2 | 2 | 0 | 3 \
| 1 | 0
==> ----------------------------------------------------------------------------------------------------------------
==> |total| 9
==>
==> ****************************************************
==>
==>
==>
==> *************** Witness Set Summary ****************
==>
==> NOTE: nonsingular vs singular is based on rank deficiency and identical e\
ndpoints
==>
==> |codim| witness points | nonsingular | singular
==> -------------------------------------------------
==> | 2 | 2 | 2 | 0
==> -------------------------------------------------
==>
==> ****************************************************
==>
==>
==> Calculating traces for codimension 2.
==> Calculating 0 of 2
==> Calculating 1 of 2
==>
==>
==> ************* Witness Set Decomposition *************
==>
==> | dimension | components | classified | unclassified
==> -----------------------------------------------------
==> | 0 | 2 | 2 | 0
==> -----------------------------------------------------
==>
==> ************** Decomposition by Degree **************
==>
==> Dimension 0: 2 classified components
==> -----------------------------------------------------
==> degree 1: 2 components
==>
==> *****************************************************
==>
==> 0
//Now, we compute the elimination ideal symbolically.
ideal E2=elim(I,z);
//Lastly, we compare the results.
E1;
==> E1[1]=0
E2;
==> E2[1]=x-y
|
|