next | previous | forward | backward | up | index | toc

# CheckFullIntersection -- Flag for deciding if isFullIntersection is called

## Description

If the option is set to true, then the function intersect(Subring,Subring) performs two tests. If either of these tests fail, then a relevant warning message is displayed. Other than the warning messages, the output of the function intersect(Subring,Subring) is not affected by the value of this option. If the option CheckFullIntersection is set to false then no warnings are produced.

The first test is performed at the beginning of the function call. It checks whether any of the inputs is and applies isFullIntersection to each instance. For more details see isFullIntersection. If the function isFullIntersection returns false, i.e., the generators of the input are not guaranteed to generate the full intersection, then a warning is printed.

 i1 : R = QQ[x,y]; i2 : S1 = subring {x^2, y^2}; i3 : S2 = subring {x*y}; i4 : gens (S3 = intersect(S1, S2, Limit => 6, CheckFullIntersection => false)) o4 = | x2y2 | 1 1 o4 : Matrix R <-- R i5 : isFullIntersection S3 o5 = false i6 : gens (S4 = intersect(S3, S2, Limit => 6)) -- Warning! The input contains an IntersectedSubring whose generators may not generate the entire subring o6 = | x2y2 | 1 1 o6 : Matrix R <-- R i7 : isFullIntersection S4 o7 = true

In the example above, a warning is produced when computing $S4$ because the input algebra $S3$ is not guaranteed to be the full intersection. However, the final line shows that the generators of $S4$ are guaranteed to generate the full intersection of $S2$ and $S3$.

The second test is performed at the end of the function call. It checks if the result is guaranteed to generate the full intersection by calling isFullIntersection on the result. If the function isFullIntersection returns false, then a warning printed. For instance, in the example above, the computation of $S3$ would print a warning.

 i8 : intersect(S1, S2, Limit => 6) -- Warning! Result is not a full intersection. Try increasing Limit. o8 = QQ[p_0], subring of R o8 : IntersectedSubring

If this warning message appears, then it is recommended to set the option SAGBILimitType to its default value of Fixed or to use a higher value for the option Limit.