|
|
A364973
|
|
a(n) = number of degree n rational curves in the complex projective plane which satisfy an order 3n-1 local tangency constraint.
|
|
2
|
|
|
1, 1, 4, 26, 217, 2110, 22744, 264057, 3242395, 41596252, 552733376, 7559811021, 105919629403, 1514674166755, 22043665219240, 325734154669786, 4877954835706120, 73914684068584441, 1131820243084746628, 17494508772311055354, 272708269111411142397, 4283702718045699720655
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
1,3
|
|
COMMENTS
|
This is the number of degree n rational curves in the complex projective plane which pass through a specified point and have contact order 3n-1 to a generic smooth local divisor through that point.
After multiplying by 3n-1, this sequence appears to agree with A353195.
Computed in terms of Gromov-Witten invariants of rational surfaces in McDuff-Siegel 2021.
Agrees with the count of osculating curves, which are defined and computed by a recursive formula in Muratore 2021.
Computed by a recursive formula in Mikhalkin-Siegel 2023.
Computed by a closed formula as sum over trees with n leaves and combinatorially defined weights in Siegel 2023.
|
|
LINKS
|
|
|
PROG
|
(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))
(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)
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
|
|
CROSSREFS
|
Cf. A353195 (after multiplying by 3n-1).
|
|
KEYWORD
|
nonn
|
|
AUTHOR
|
|
|
EXTENSIONS
|
|
|
STATUS
|
approved
|
|
|
|