A364973 a(n) = number of degree n rational curves in the complex projective plane which satisfy an order 3n-1 local tangency constraint.
1, 1, 4, 26, 217, 2110, 22744, 264057, 3242395, 41596252, 552733376, 7559811021, 105919629403, 1514674166755, 22043665219240, 325734154669786, 4877954835706120, 73914684068584441, 1131820243084746628, 17494508772311055354, 272708269111411142397, 4283702718045699720655
Offset: 1
Keywords
Links
- Chai Wah Wu, Table of n, a(n) for n = 1..108
- D. McDuff and K. Siegel, Counting curves with local tangency constraints, J. Top., 14 (2021) 1176-1242.
- G. Mikhalkin and K. Siegel, Ellipsoidal superpotentials and stationary descendants, arXiv:2307.13252 [math.SG] (2023).
- G. Muratore, A recursive formula for osculating curves, Arkiv Mat., 59 (2021) 195-211.
- K. Siegel, Computing higher symplectic capacities I, Int. Math. Res. Not., 2022 (2021) 12402-12461.
- K. Siegel, A tree formula for the ellipsoidal superpotential of the complex projective plane (2023).
Crossrefs
Cf. A353195 (after multiplying by 3n-1).
Programs
-
Python
from functools import lru_cache from fractions import Fraction from math import prod, factorial from sympy.utilities.iterables import partitions @lru_cache(maxsize=None) def A364973(n): # after Sage code return 1 if n==1 else int(factorial(3*n-2)*(Fraction(1,factorial(n)**3)-sum(Fraction(prod(((3*m-1)*A364973(m))**e for m, e in p.items()),factorial(3*n-s)*prod(factorial(c) for c in p.values())) for s, p in partitions(n, k=n-1, size=True)))) # Chai Wah Wu, Nov 10 2023
-
Sage
# The following code is written in Sage and is based on the recursive formula in Mikhalkin-Siegel 2023. Note that a slightly more efficient formula is given by using Partitions instead of OrderedPartitions, at the cost of an extra combinatorial factor. def a(n): if n == 1: return 1 out = 1/(factorial(n)**3) for p in [p for p in OrderedPartitions(n) if len(p) > 1]: k = len(p) summand = prod([(3*m-1)*a(m) for m in p]) summand /= factorial(k)*factorial(3*n-k) out -= summand out *= factorial(3*n-2) return out for n in range(1,20): print(a(n))
Extensions
More terms from Chai Wah Wu, Nov 10 2023
Comments