# CheckUnmixed -- check whether ideals encountered are unmixed

## Description

If set to false, the program never checks whether the ideal $I$ or any $C_{y,I}$ or $N_{y,I}$ ideals are unmixed. Setting CheckUnmixed=>false will speed up computations since it is not performing a check of this condition but comes at the cost that not all the necessary conditions are checked. Notice that if isGVD(I, CheckUnmixed=>false) returns false, then $I$ is conclusively not geometrically vertex decomposable as there is some other condition that is not met. The default value is true.

If you know that $I$ is unmixed but want to check unmixedness for $C_{y,I}$, $N_{y,I}$, and any later ideals, use IsIdealUnmixed instead.

The following is not unmixed [SM, Example 1.6] and hence not geometrically vertex decomposable. However, if we disable the unmixedness check and skip the Cohen-Macaulay check, isGVD returns true.

 i1 : R = QQ[x_1..x_5] o1 = R o1 : PolynomialRing i2 : I = ideal(x_1*x_3, x_1*x_4, x_1*x_5, x_2*x_3, x_2*x_4, x_2*x_5) o2 = ideal (x x , x x , x x , x x , x x , x x ) 1 3 1 4 1 5 2 3 2 4 2 5 o2 : Ideal of R i3 : isUnmixed I o3 = false i4 : isGVD(I, CheckCM=>"never", CheckUnmixed=>false) o4 = true

## References

[SM] H. Saremi and A. Mafi. Unmixedness and Arithmetic Properties of Matroidal Ideals. Arch. Math. 114 (2020) 299–304.

## Caveat

As in the above example, if you set CheckUnmixed=>false and you do not already know that both $I$ is unmixed and all later $C_{y,I}$ and $N_{y,I}$ ideals are unmixed, then the output of isGVD or any other GVD method cannot definitely conclude that $I$ is geometrically vertex decomposable, as not all of conditions in the definition were checked.

• CyI -- computes the ideal $C_{y,I}$ for a given ideal and indeterminate
• findLexCompatiblyGVDOrders -- finds all lexicographic monomial orders $<$ such that the ideal is $<$-compatibly geometrically vertex decomposable
• findOneStepGVD -- for which indeterminates does there exist a geometric vertex decomposition
• getGVDIdeal -- computes the $C_{y,I}$ or $N_{y,I}$ ideal at any point in the GVD recursion tree
• isGVD -- checks whether an ideal is geometrically vertex decomposable
• IsIdealUnmixed -- specify whether an ideal is unmixed
• isLexCompatiblyGVD -- checks whether an ideal is <-compatibly geometrically vertex decomposable for a given order
• isUnmixed -- checks whether an ideal is unmixed
• isWeaklyGVD -- checks whether an ideal is weakly geometrically vertex decomposable
• NyI -- computes the ideal $N_{y,I}$ for a given ideal and indeterminate

## Functions with optional argument named CheckUnmixed :

• "CyI(...,CheckUnmixed=>...)"
• "findLexCompatiblyGVDOrders(...,CheckUnmixed=>...)"
• "findOneStepGVD(...,CheckUnmixed=>...)"
• "getGVDIdeal(...,CheckUnmixed=>...)"
• "isGVD(...,CheckUnmixed=>...)"
• "isLexCompatiblyGVD(...,CheckUnmixed=>...)"
• "isWeaklyGVD(...,CheckUnmixed=>...)"
• "NyI(...,CheckUnmixed=>...)"
• "oneStepGVD(...,CheckUnmixed=>...)"

## For the programmer

The object CheckUnmixed is .