#### D.8.7.14 num_radical2

Procedure from library `recover.lib` (see recover_lib).

Usage:
  num_radical2(P,D,C); list P, int D, bigint C
  P a list of lists representing a witness point set representing an ideal I 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

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

Remarks:
  Instead of using the images of the Veronese embeddings of each individual witness point, this procedure first computes a random linear combination of those images and searches for homogeneous polynomial relations for this linear combination.

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 radical symbolically.
    ring r=0,(x,y,z),dp;
    ideal I=4xy2-4z3,-2x2y+5xz2;
    ideal Rad=radical(I);
    writeBertiniInput(I,100);
    //Then we attempt to compute the radical via the hybrid algorithm.
    ring R=(complex,100,i),(x,y,z),dp;
    system("sh","bertini input");
    list P=getWitnessSet();
    int D=2;
    bigint C=bigint(10)**30;
    ideal Rad2=num_radical2(P,D,C);
    //Lastly, we compare the results.
    Rad2;
    ideal Rad=fetch(r,Rad);
    Rad;
    reduce(Rad,std(Rad2));
    reduce(Rad2,std(Rad));

See also: num_radical1.

User manual for Singular version 4.4.1, 2025, generated by texi2html.