# CompMethod

## Description

The option CompMethod determines which algorithm is used for the main computational steps of the calculation. This option map be used with methods CSM, Segre, Chern , and Euler. Note, however, that CompMethod can only be set to PnResidual and bertini when the input ideal defines a subscheme of a projective space ℙn. In all other cases this option will be ignored and ProjectiveDegree will be used automatically.

 `i1 : R = ZZ/32749[r,y,z,w];` ```i2 : Chern( minors(2,matrix{{r,y,z},{y,z,w}}), CompMethod=>ProjectiveDegree) 3 2 o2 = 2h + 3h 1 1 ZZ[h ] 1 o2 : ------ 4 h 1```

There are three algorithms which can be used, ProjectiveDegree, PnResidual, and Bertini. When choosing the ProjectiveDegree option, the main step is the computation of projective degrees, for which Gröbner basis methods will be used. When choosing ResidualSymbolic, Gröbner basis methods will be used to compute so-called residuals. These computations can also be done numerically using the regenerative cascade implemented in Bertini. This is done by choosing the option bertini, provided Bertini is installed and configured.

 `i3 : R=ZZ/32749[v_0..v_5];` ```i4 : I=ideal(4*v_3*v_1*v_2-8*v_1*v_3^2,v_5*(v_0*v_1*v_4-v_2^3)); o4 : Ideal of R``` ```i5 : time CSM(I,CompMethod=>ProjectiveDegree) -- used 0.355051 seconds 5 4 3 2 o5 = 6h + 14h + 14h + 10h 1 1 1 1 ZZ[h ] 1 o5 : ------ 6 h 1``` ```i6 : time CSM(I,CompMethod=>PnResidual) -- used 2.91098 seconds 5 4 3 2 o6 = 6H + 14H + 14H + 10H ZZ[H] o6 : ----- 6 H``` ```i7 : codim I o7 = 2``` `i8 : S=QQ[s_0..s_3];` ```i9 : K=ideal(4*s_3*s_2-s_2^2,(s_0*s_1*s_3-s_2^3)); o9 : Ideal of S``` ```i10 : time CSM(K,CompMethod=>ProjectiveDegree) -- used 0.214419 seconds 3 2 o10 = 3h + 5h 1 1 ZZ[h ] 1 o10 : ------ 4 h 1``` ```i11 : time CSM(K,CompMethod=>PnResidual) -- used 0.0870439 seconds 3 2 o11 = 3H + 5H ZZ[H] o11 : ----- 4 H```

The options PnResidual and bertini may only be used for subschemes of a single projective space of fixed dimension. For subschemes of products of projective spaces and for subschemes of toric varieties only the ProjectiveDegree option is avalible and other options will be ignored by the methods Segre, CSM, Chern and Euler.

 ```i12 : R=MultiProjCoordRing({1,2,2}) o12 = R o12 : PolynomialRing``` ```i13 : I=ideal(R_0*R_1*R_3-R_0^2*R_2) 2 o13 = ideal(- x x + x x x ) 0 2 0 1 3 o13 : Ideal of R``` ```i14 : Segre I 2 2 o14 = 6h h - 4h h - h + 2h + h 1 2 1 2 2 1 2 ZZ[h , h , h ] 1 2 3 o14 : -------------- 2 3 3 (h , h , h ) 1 2 3``` ```i15 : Segre(I,CompMethod=>ProjectiveDegree) 2 2 o15 = 6h h - 4h h - h + 2h + h 1 2 1 2 2 1 2 ZZ[h , h , h ] 1 2 3 o15 : -------------- 2 3 3 (h , h , h ) 1 2 3```

## Functions with optional argument named CompMethod :

• Chern(..., CompMethod => ...) (missing documentation)
• CSM(..., CompMethod => ...) (missing documentation)
• Euler(..., CompMethod => ...) (missing documentation)
• Segre(..., CompMethod => ...) (missing documentation)

## For the programmer

The object CompMethod is .