packages feed

jacobi-theta 0.2.1.0 → 0.2.1.1

raw patch · 3 files changed

+24/−4 lines, 3 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

CHANGELOG.md view
@@ -1,3 +1,8 @@+## 0.2.1.1 - 2023-10-18
+
+Fixed a mistake in `jtheta1Dash0`.
+
+
 ## 0.2.1.0 - 2023-10-18
 
 - Jacobi theta function with characteristics.
jacobi-theta.cabal view
@@ -1,5 +1,5 @@ name:                jacobi-theta
-version:             0.2.1.0
+version:             0.2.1.1
 synopsis:            Jacobi Theta Functions
 description:         Evaluation of the Jacobi theta functions.
 homepage:            https://github.com/stla/jacobi-theta#readme
src/Math/JacobiTheta.hs view
@@ -166,6 +166,19 @@   where
     tau = getTauFromQ q
 
+jthetaAB' ::
+     Complex Double -- ^ characteristic a
+  -> Complex Double -- ^ characteristic b
+  -> Complex Double -- ^ z
+  -> Complex Double -- ^ tau
+  -> Complex Double
+jthetaAB' a b z tau = c * exp(dologtheta3 (alpha+beta) tau 0 1000)
+  where
+    alpha = a * tau 
+    beta  = z/pi + b
+    c     = exp(i_ * pi * a * (alpha + 2*beta)) 
+
+
 -- | Jacobi theta function with characteristics. This is a family of functions, 
 --  containing 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@)
@@ -200,9 +213,10 @@ jthetaAB a b z q = c * jtheta3 (alpha + beta) q
   where
     tau = getTauFromQ q
-    alpha = pi * a * tau
+    alpha = pi * a * tau 
     beta  = z + pi * b
-    c     =  exp(i_ * a * (alpha + 2*beta)) 
+    c     = exp(i_ * a * (alpha + 2*beta)) 
+    -- c     = q**(a*a) * exp(2 * i_ * a * beta)
 
 -- | Derivative at 0 of the first Jacobi theta function. This is much more 
 --  efficient than evaluating @jtheta1Dash@ at @0@.
@@ -212,7 +226,8 @@ jtheta1Dash0 q = 
   -2 * i_ * jab * jab * jab
   where
-    jab = jthetaAB (1/6) 0.5 0 (q*q*q)
+    tau = getTauFromQ q
+    jab = jthetaAB' (1/6) 0.5 0 (3*tau)
 
 -- | Derivative of the first Jacobi theta function.
 jtheta1Dash ::