# Wolfram Function Repository

Instant-use add-on functions for the Wolfram Language

Function Repository Resource:

Find the ordinary differential equation constraining periods of certain symmetrical curves

Contributed by:
Bradley Klee

ResourceFunction["DihedralODE"][ ϕ,}]αreturns the ODE constraining integral periods H such that =αH(,cos(λk ϕ)). | |

ResourceFunction["DihedralODE"][ ϕ,},αrules]first applies coordinate rewrite | |

ResourceFunction["DihedralODE"][ assumes default coordinate handling and returns a checked and checkable Association containing proof data. |

The acronym ODE stands for "ordinary differential equation."

Specification of variables {*λ*,*ϕ*,*α*} is optional if the Hamiltonian is written in terms of the formal action-angle variables .

Input Hamiltonian *H* should be polynomial in and linear in , something like .

Input Hamiltonian *H* can also be specified in Cartesian (*p*,*q*) or spherical (*X*,*Y*,*Z*) coordinates.

Spherical curves are drawn on the surface of a unit sphere, *X*^{ 2}+*Y*^{ 2}+*Z*^{ 2}=1.

The default rewrite *rules* change from either system to action-angle coordinates:

Cartesian | |

Spherical |

Note: Both the plane and the sphere are symplectic manifolds with canonical action-angle coordinates.

Time *t* is defined in terms of the tangents D_{t}{*λ*,*ϕ*}={-*∂*_{ϕ}*H*,*∂*_{λ}*H*}.

The invariant time differential may then be written most directly as *dt*=*dϕ*/(*∂*_{λ}*H*).

Subsequent *α*-derivatives of the integrand *dt* are written as (*∂*_{α})^{n}*dt*=(*∂*_{λ}*H*)*dt*(*∂*_{α})^{n}1/(*∂*_{λ}*H*).

Here we operate *∂*_{α} through *λ* via the chain rule with *∂*_{α}*λ*=1/(*∂*_{λ}*H*). For example: *∂*_{α}*f*(*α*, *λ*(*α*))=*f*^{(1,0)}(*α*,*λ*(*α*))+*f*^{(0,1)}(*α*, *λ*(*α*))/(*∂*_{λ}*H*).

The primary task of ResourceFunction["DihedralODE"] is to compute a set of coefficients *c*_{n}(*α*) and a certificate Ξ(*q*,*p*) such that . When this condition is satisfied, the exact differential can be integrated to zero around a contour, which implies

The form of the minimal output is an ordinary differential equation constraining period functions *T*(*α*).

The proof data described above can be put into an Association:

PastedInput | H |

Hamiltonian | =αH |

Coordinates | {,λϕ,}α |

Tangents | {-∂_{ϕ}H,∂_{λ}H} |

Time Forms | (∂_{α})^{n}dt,n=0, 1, … |

ODE Coefficients | c_{n},n=0, 1, … |

Certificate Function | |

Truth Value |

The last item with the key "Truth Value" should auto-evaluate to 0 for valid data.

For more details refer to "An Update on the Computational Theory of Hamiltonian Period Functions," especially Chapter 3.

By applying a clever hack, *∂*_{λ}*H* can be written as a ratio of *λ*-polynomials. If it succeeds, the algorithm should proceed rapidly to a solution, whereas if it fails the algorithm stops.

Caveat emptor: This function is effective for a few interesting results but comes with no warranty otherwise!

Find the period ODE coefficients of a family of elliptic curves in Edwards's normal form:

In[1]:= |

Out[1]= |

Solve the ODE to find the real-valued hypergeometric period function:

In[2]:= |

Out[2]= |

Display the proof data in a table:

In[3]:= |

Out[3]= |

Despite imperfections, this flexible technique is still quite formidable:

In[4]:= |

Out[4]= |

Proof data is dynamically checkable in a short amount of time:

In[5]:= |

In[6]:= |

Out[6]= |

Hyperelliptic inputs with separable potentials should not be expected to parse:

In[7]:= |

Out[7]= |

If output data becomes weighty, expect a time delay:

In[8]:= |

Out[8]= |

Discover an apparent genus-degree relation:

In[9]:= |

Out[9]= |

- 1.0.0 – 08 April 2022

This work is licensed under a Creative Commons Attribution 4.0 International License