| #### 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.