We say a symmetric divisor on $\bar{M}_{0,n}$ is a symmetric F-divisor if $D . F \geq 0$ for every F curve.
Let $SF_{0,n}$ denote the cone of all $S_n$ symmetric divisors on $\bar{M}_{0,n}$ that intersect all the F-curves nonnegatively. This cone contains the cone of $S_n$ symmetric nef divisors. (Fulton's F Conjecture predicts that the two cones are equal). See [AGSS] Section 2 for more details.
This function first checks to see if $D$ is an F-divisor. If not, the function returns false. If so, the function goes on to check whether $D$ is an extremal ray of the cone $SF_{0,n}$. It does so by finding all the F-curves which $D$ intersects in degree zero (i.e., finding how many facets of the cone $D$ lies on) and then checking to see whether this set contains sufficiently many independent hyperplanes to determine an extremal ray.
In the example below, we check that the divisor $3B_2+2B_3+4B_4$ is extremal in the cone $SF_{0,8}$ for $n=8$. We also check that the divisor kappa (see kappaDivisorM0nbar), which is known to be very ample, is not an extremal ray of $SF_{0,8}$.
i1 : D=symmetricDivisorM0nbar(8,3*B_2+2*B_3+4*B_4) o1 = 3*B + 2*B + 4*B 2 3 4 o1 : S_8-symmetric divisor on M-0-8-bar |
i2 : isExtremalSymmetricFDivisor(D) o2 = true |
i3 : D=kappaDivisorM0nbar(8) 5 8 9 o3 = -*B + -*B + -*B 7 2 7 3 7 4 o3 : S_8-symmetric divisor on M-0-8-bar |
i4 : isExtremalSymmetricFDivisor(D) o4 = false |
The object isExtremalSymmetricFDivisor is a method function.