As far as I know, log canonical surface singularities were classified. How about higher dimensional case?

I especially want to know whether given 3-fold singularity is log canonical or not.

Let $f$ be a holomorphic function near $0 \in \mathbb C^4$ and $D=\{ f=0\}$. Then how can I check that whether it is log canonical or not?

For example, Let $f=x_2x_4+(x_3+x_4)^2+(x_1x_4+x_2x_3)(x_1+x_2+x_3+x_4)+(x_1x_4+x_2x_3)^2$.

Is it log canonical? Can you give any answers or references?


1 Answer 1


Yes, it is log canonical.

Some overarching comments

A quick way is simply to check whether it is F-pure after reduction to characteristic p for some p. (Actually, before [this paper][1], one would have to check infinitely many primes, but now we know that fpt($f$ mod $p$) $\leq$ lct($f$) for all p).

Fortunately, one can check this very easily in a computer (I bet blowups would also be do-able here, although certainly a lot more work...).

In characteristic $p = 7, 13$, I checked that $\langle f^{p-1} \rangle^{[1/p]} = \langle 1 \rangle = \mathbb{Z}/p[x_1,x_1,x_3,x_4]$. This proves that the pair $(\mathbb{A}^4, f^1)$ is $F$-pure and hence log canonical back in characteristic zero. For some additional background, you could see these survey articles: Smith-Zhang, Schwede-Tucker, Blickle-Schwede, Patakfalvi-Schwede-Tucker. The original result that the FPT is $\leq$ the LCT is for $p \gg 0$ is essentially due to Hara-Watanabe (except they didn't define the FPT, that was Takagi-Watanabe and Mustata-Takagi-Watanabe, see the references contained in the above articles).

The actual computation

Ok, I did this in Macaulay2, and I used [PosChar.m2][6] (a Macaulay2 package, some documentation is [HERE][7]). I then entered the following commands:
loadPackage "PosChar"
p = 7
f = x2*x4+(x3+x4)^2+(x1*x4+x2*x3)*(x1+x2+x3+x4)+(x1*x4+x2*x3)^2
ethRoot(f^(p-1), 1)

Macaulay2 output

ideal 1
Ideal of R

which proves that it is $F$-pure and hence log canonical back in characteristic zero. Anyway, the key computation which I am sure you could also do by hand in this case is called "Fedder's Criterion" (see the above articles).

A caveat

The package PosChar.m2 also has a function called "IsSharplyFPurePoly" which could also work here. However, the implementation is slower than what I did above (I need to go fix that, I will try to update this answer when I do that).

Update: PosChar.m2 has been depricated. The right package is the TestIdeals.m2 package, which should be built into Macaulay2.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.