Home Online Manual
Top
Back: num_elim
Forward: realLLL
FastBack:
FastForward:
Up: recover_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.8.7.16 num_elim1

Procedure from library recover.lib (see recover_lib).

Usage:
num_elim1(P,D,C,v); list P, int D, bigint C, intvec v
P a list of lists representing a witness point set representing an ideal J D should be a bound to the degree of the elements of the components C the number with which the images of the Veronese embeddings are multiplied v an intvec specifying the numbers/positions of the variables to be eliminated

Return:
ideal: the ideal obtained from J by eliminating the variables specified in v

Remarks:
This procedure just canonically projects the witness points onto the components specified in the intvec v and then applies num_radical1 to the resulting points.

Note:
Should only be called from a ring over the complex numbers.

Example:
 
LIB "recover.lib";
//First, we write the input file for bertini and compute the elimination ideal
//symbolically.
ring r=0,(x,y,z),dp;
poly f1=x-y;
poly f2=z*(x+3y);
poly f3=z*(x2+y2);
ideal J=f1,f2,f3;
ideal E2=elim(J,z);
writeBertiniInput(J,100);
//Then we attempt to compute the elimination ideal via the hybrid algorithm.
ring R=(complex,100,i),(x,y,z),dp;
system("sh","bertini input");
==> 
==>    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: 352
==> 
==> 
==> 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
list P=getWitnessSet();
intvec v=3;
bigint C=bigint(10)**25;
ideal E1=num_elim1(P,2,C,v);
//Lastly, we compare the results.
E1;
==> E1[1]=x-y
setring r;
E2;
==> E2[1]=x-y