next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
CharacteristicClasses :: probabilistic algorithm

probabilistic algorithm

The algorithm used for the computation of characteristic classes is probabilistic. Theoretically it calculates the classes correctly in all cases outside a lower-dimensional subset, i.e., with probability one. In the implementation, however, the probability of not computing the correct class is strictly larger than zero, although small. Sceptical users should repeat calculations to increase the probability of computing the correct class.

We illustrate the probabilistic behaviour with an example where the chosen random seed leads to a wrong result in the first calculation.
i1 : setRandomSeed 121;
i2 : R = QQ[x,y,z,w]

o2 = R

o2 : PolynomialRing
i3 : I = minors(2,matrix{{x,y,z},{y,z,w}})

               2                        2
o3 = ideal (- y  + x*z, - y*z + x*w, - z  + y*w)

o3 : Ideal of R
i4 : chernClass I

       2
o4 = 4H

     ZZ[H]
o4 : -----
        4
       H
i5 : chernClass I

       3     2
o5 = 2H  + 3H

     ZZ[H]
o5 : -----
        4
       H
i6 : chernClass I

       3     2
o6 = 2H  + 3H

     ZZ[H]
o6 : -----
        4
       H