Kontsevich topological recursion#

Kontsevich topological recursion that computes intersection of psi classes.

EXAMPLES:

sage: from surface_dynamics import KontsevichTR
sage: K = KontsevichTR()

sage: for p in [(4,),(5,0),(4,1),(3,2)]:
....:     n = len(p)
....:     assert sum(p) == n + 3
....:     c = K.F(2, n, p) / prod((2*i + 1).multifactorial(2) for i in p)
....:     print(p, c)
(4,) 1/1152
(5, 0) 1/1152
(4, 1) 1/384
(3, 2) 29/5760
class surface_dynamics.topological_recursion.kontsevich.KontsevichTR[source]#

Bases: UniqueRepresentation, TopologicalRecursion

Topological recursion for intersection of psi classes (Witten’s conjecture)

int_{Mgn} exp(L_i^2/2 psi_i)

EXAMPLES:

sage: from surface_dynamics import KontsevichTR
sage: K = KontsevichTR()

sage: [K.F(2, 1, (i,)) for i in range(5)]
[0, 0, 0, 0, 105/128]

sage: K.polynomial(0,3)
1
sage: K.polynomial(0,4)
3*b0 + 3*b1 + 3*b2 + 3*b3
sage: K.polynomial(0,5)
15*b0^2 + 18*b0*b1 + ...

sage: K.polynomial(1,1)
1/8*b0
sage: K.polynomial(1,2)
5/8*b0^2 + 3/8*b0*b1 + 5/8*b1^2

sage: K.write(0, 4)
[1, 0, 0, 0] 1/2
sage: K.write(0, 5)
[2, 0, 0, 0, 0] 1/8
[1, 1, 0, 0, 0] 1/2
sage: K.write(1, 2)
[2, 0] 1/192
[1, 1] 1/96
sage: K.write(2, 1)
[4] 1/442368
A(i, j, k)[source]#

A-data for Kontsevich recursion

B(g, n, i, j)[source]#

B-data for Kontsevich topological recursion

C(i, jmax, kmax, smax)[source]#

C-data for Kontsevich topological recursion

D(i)[source]#

D-data for Kontsevich topological recursion

surface_dynamics.topological_recursion.kontsevich.psi_correlator(*args)[source]#

Return the integral of psi classes

EXAMPLES:

Examples in genus 0:

sage: from surface_dynamics.topological_recursion.kontsevich import psi_correlator
sage: psi_correlator(0,0,0)
1
sage: psi_correlator(1,0,0,0)
1
sage: psi_correlator(2,0,0,0,0)
1
sage: psi_correlator(1,1,0,0,0)
2

Examples in genus 1:

sage: psi_correlator(1)
1/24
sage: psi_correlator(2, 0)
1/24
sage: psi_correlator(1, 1)
1/24
sage: psi_correlator(3, 0, 0)
1/24
sage: psi_correlator(2, 1, 0)
1/12
sage: psi_correlator(1, 1, 1)
1/12

genus 2:

sage: psi_correlator(7)
1/82944
sage: psi_correlator(7, 1)
5/82944
sage: psi_correlator(6, 2)
77/414720
sage: psi_correlator(5, 3)
503/1451520
sage: psi_correlator(4, 4)
607/1451520