Copyright | (c) Stéphane Laurent 2023 |
---|---|
License | BSD3 |
Maintainer | laurent_step@outlook.fr |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Provides the four usual Jacobi theta functions, the Jacobi theta function
with characteristics, the derivative of the first Jacobi theta function,
as well as a function for the derivative at 0
only of the first Jacobi
theta function.
Synopsis
- jtheta1 :: Complex Double -> Complex Double -> Complex Double
- jtheta1' :: Complex Double -> Complex Double -> Complex Double
- jtheta2 :: Complex Double -> Complex Double -> Complex Double
- jtheta2' :: Complex Double -> Complex Double -> Complex Double
- jtheta3 :: Complex Double -> Complex Double -> Complex Double
- jtheta3' :: Complex Double -> Complex Double -> Complex Double
- jtheta4 :: Complex Double -> Complex Double -> Complex Double
- jtheta4' :: Complex Double -> Complex Double -> Complex Double
- jthetaAB :: Complex Double -> Complex Double -> Complex Double -> Complex Double -> Complex Double
- jthetaAB' :: Complex Double -> Complex Double -> Complex Double -> Complex Double -> Complex Double
- jtheta1Dash0 :: Complex Double -> Complex Double
- jtheta1Dash :: Complex Double -> Complex Double -> Complex Double
Documentation
First Jacobi theta function in function of the nome.
First Jacobi theta function in function of tau
.
Second Jacobi theta function in function of the nome.
Second Jacobi theta function in function of tau
.
Third Jacobi theta function in function of the nome.
Third Jacobi theta function in function of tau
.
Fourth Jacobi theta function in function of the nome.
Fourth Jacobi theta function in function of tau
.
:: Complex Double | characteristic a |
-> Complex Double | characteristic b |
-> Complex Double | z |
-> Complex Double | q, the nome |
-> Complex Double |
Jacobi theta function with characteristics. This is a family of functions,
containing the opposite of the first Jacobi theta function (a=b=0.5
),
the second Jacobi theta function (a=0.5, b=0
), the third Jacobi theta
function (a=b=0
) and the fourth Jacobi theta function (a=0, b=0.5
).
The examples below show the periodicity-like properties of these functions:
>>>
import Data.Complex
>>>
a = 2 :+ 0.3
>>>
b = 1 :+ (-0.6)
>>>
z = 0.1 :+ 0.4
>>>
tau = 0.2 :+ 0.3
>>>
im = 0 :+ 1
>>>
q = exp(im * pi * tau)
>>>
jab = jthetaAB a b z q
>>>
jthetaAB a b (z + pi) q
(-5.285746223832433e-3) :+ 0.1674462628348814
>>>
jab * exp(2 * im * pi * a)
(-5.285746223831987e-3) :+ 0.16744626283488154
>>>
jtheta_ab a b (z + pi*tau) q
0.10389127606987271 :+ 0.10155646232306936
>>>
jab * exp(-im * (pi*tau + 2*z + 2*pi*b))
0.10389127606987278 :+ 0.10155646232306961
:: Complex Double | characteristic a |
-> Complex Double | characteristic b |
-> Complex Double | z |
-> Complex Double | tau |
-> Complex Double |
Jacobi theta function with characteristics in function of tau
.
Derivative at 0 of the first Jacobi theta function. This is much more
efficient than evaluating jtheta1Dash
at 0
.