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

D.8.7.9 num_prime_decom

Procedure from library recover.lib (see recover_lib).

Usage:
num_prime_decom(I,D); ideal I, int D
D a bound to the degree of the elements of the components of a prime decomposition of I.

Return:
list of ideals: each of the ideals a prime component of the radical of I

Remarks:
Uses Bertini.

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

Example:
 
LIB "recover.lib";
ring R=0,(x,y,z),dp;
ideal I=(x+y)*(y+2z), (x+y)*(x-3z);
int D=2;
int Prec=300;
num_prime_decom(I,D,Prec);
==> 
==>    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: 8.000000000000e+00, DegreeBound: 2.000000000000e+00
==> AMPSafetyDigits1: 1, AMPSafetyDigits2: 1, AMPMaxPrec: 1024
==> 
==> 
==> Tracking regeneration codim 1 of 2: 2 paths to track.
==> Tracking path 0 of 2
==> Tracking path 1 of 2
==> 
==> Sorting codimension 1 of 2: 2 paths to sort.
==> Sorting 0 of 2
==> Sorting 1 of 2
==> 
==> Preparing regeneration codim 2 of 2: 1 witness point to move.
==> Moving 0 of 1
==> 
==> Tracking regeneration codim 2 of 2: 2 paths to track.
==> Tracking path 0 of 2
==> Tracking path 1 of 2
==> 
==> Sorting codimension 2 of 2: 2 paths to sort.
==> Sorting 0 of 2
==> Sorting 1 of 2
==> 
==> 
==> ************ 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   |   2       |   1            |  1          |  0       |  1         \
   |   0           |  0
==> | 2   |   2       |   2            |  1          |  1       |  0         \
   |   0           |  0
==> ----------------------------------------------------------------------------------------------------------------
==> |total|   4
==> 
==> ****************************************************
==> 
==> 
==> Removing junk points from codimension 2: 1 endpoints to check.
==> Checking 0 of 1
==> 
==> 
==> *************** Witness Set Summary ****************
==> 
==> NOTE: nonsingular vs singular is based on rank deficiency and identical e\
   ndpoints
==> 
==> |codim| witness points | nonsingular | singular 
==> -------------------------------------------------
==> | 1   |   1            |  1          |  0       
==> | 2   |   1            |  1          |  0       
==> -------------------------------------------------
==> 
==> ****************************************************
==> 
==> 
==> Calculating traces for codimension 1.
==> Calculating 0 of 1
==> 
==> Using combinatorial trace test to decompose codimension 1.
==> 
==> Calculating traces for codimension 2.
==> Calculating 0 of 1
==> 
==> 
==> ************* Witness Set Decomposition *************
==> 
==> | dimension | components | classified | unclassified
==> -----------------------------------------------------
==> |   1       |   0        |   0        |  1
==> |   0       |   1        |   1        |  0
==> -----------------------------------------------------
==> 
==> ************** Decomposition by Degree **************
==> 
==> Dimension 0: 1 classified component
==> -----------------------------------------------------
==>    degree 1: 1 component
==> 
==> *****************************************************
==> 
==> 0
==> empty list
//Let us compare that to the result of primdecSY:
primdecSY(I);
==> [1]:
==>    [1]:
==>       _[1]=x+y
==>    [2]:
==>       _[1]=x+y
==> [2]:
==>    [1]:
==>       _[1]=y+2z
==>       _[2]=x-3z
==>    [2]:
==>       _[1]=y+2z
==>       _[2]=x-3z