How to interpret the result of NumericalVariety

Skip to first unread message

Chloe :D

Feb 22, 2022, 10:39:34 AMFeb 22
to Macaulay2
Following the documentation of NumericalVariety, I am trying to analyze my equations, but obtained ```NumericalVariety{2}``` as the output, which is a bit different from the output in the documentation. How to interpret this result?

Many thanks!

Here is the code

i11 : R = CC[sa,sb,sc,sd,se,ca,cb,cc,cd,ce] o11 = R o11 : PolynomialRing
i12 : I = ideal {-cb*sa - cd*sa - ce*sa + ca*sb + ca*sd + ca*se, cb*sa - ca*sb - cc*sb - cd*sb - ce*sb + cb*sc + cb*sd + cb*se, cc*sb - cb*sc, cd*sa + cd*sb - ca*sd - cb*sd - ce*sd + cd*se, ce*sa + ce*sb + ce*sd - ca*se - cb*se - cd*se, -1 + ca^2 + sa^2, -1 + cb^2 + sb^2, -1 + cc^2 + sc^2, -1 + cd^2 + sd^2} o12 = ideal(sbca+sdca+secasacbsacdsace,−sbca+sacb+sccb+sdcb+secbsbccsbcdsbce,−sccb+sbcc,−sdcasdcb+sacd+sbcd+secdsdce,−secasecbsecd+sace+sbce+sdce,sa2+ca2−1,sb2+cb2−1,sc2+cc2−1,sd2+cd2−1) o12 : Ideal of R
i13 : numericalIrreducibleDecomposition I o13 = NumericalVariety{…2…} o13 : NumericalVariety

Paul Zinn-Justin

Feb 23, 2022, 7:30:51 AMFeb 23
Could it be that you're using the web interface? The latter requires proper implementation of output routines (such as TeX output), which not all packages have done yet. A workaround is to apply "net" to get the ascii output (in your case, "net o13"). A long term solution is to ask the package authors to do the required improvement as described above.

You received this message because you are subscribed to the Google Groups "Macaulay2" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
To view this discussion on the web visit

Tim Duff

Feb 28, 2022, 4:26:08 PMFeb 28
to Macaulay2
A useful command here is "components", which returns a list of witness sets representing the irreducible components of V(I) which are computed by numericalIrreducibleDecomposition. When I ran your code, I saw ten irreducible components (8 w/ dimension 2 and degree 4, 2 w/ dimension 3 and degree 8.) This result, which is generally heuristic and involves some randomization, can be validated in this case with primaryDecomposition if you change the coefficient ring from CC to QQ. 

One benefit of working with these witness sets is you can numerically check whether or not a point lies on the associated irreducible component, even if you don't know the vanishing ideal of that component. For example,

i56 : comps = components N
o56 = {C, (dim=2,deg=4), (dim=2,deg=4), (dim=2,deg=4), (dim=2,deg=4), (dim=2,deg=4), (dim=2,deg=4), (dim=2,deg=4), (dim=3,deg=8), (dim=3,deg=8)}
o56 : List
i57 : apply(comps, c -> isOn(point{{1,1,1,1,0,0,0,0,0,0}}, c))
o57 = {false, false, false, false, false, true, false, false, false, false}
o57 : List

Reply all
Reply to author
0 new messages