weierstrass-functions 0.1.2.0 → 0.1.3.0
raw patch · 3 files changed
+30/−3 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- CHANGELOG.md +5/−0
- src/Math/Eisenstein.hs +24/−2
- weierstrass-functions.cabal +1/−1
CHANGELOG.md view
@@ -1,5 +1,10 @@ # Changelog for `weierstrass-functions` +## 0.1.3.0 - 2023-08-24 + +Fixed some mistakes. + + ## 0.1.2.0 - 2023-08-24 Simpler and better implementation of `kleinJ`.
src/Math/Eisenstein.hs view
@@ -30,6 +30,28 @@ j2 = jtheta2 0 q j3 = jtheta3 0 q + + +----- +-- psi :: Complex Double -> Complex Double +-- psi z = im + 2*im*z / (im - z) +-- where +-- im = 0 :+ 1 + +-- test :: Int -> Int -> Complex Double +-- test i j = +-- let i' = -0.8 + fromIntegral i / 512 * (0.8 + 0.8) +-- j' = -0.8 + fromIntegral j / 512 * (0.8 + 0.8) +-- z = i' :+ j' +-- in +-- if magnitude z > 0.95 +-- then 0 +-- else if j' < 0 +-- then (lambda (-1 / psi z)) +-- else (lambda (psi z)) +----- + + -- | Eisenstein series of weight 2 eisensteinE2 :: Complex Double -- ^ tau @@ -74,10 +96,10 @@ -> Complex Double kleinJ tau = let - lbd = lambda(tau) + lbd = lambda tau x = lbd * (1 - lbd) in - 256 * (1 - x) %^% 3 / x %^% 2 + 256 * ((1 - x) %^% 3) / (x %^% 2) --eisensteinE4 tau %^% 3 / modularDiscriminant tau -- | Arithmetic-geometric mean
weierstrass-functions.cabal view
@@ -1,5 +1,5 @@ name: weierstrass-functions -version: 0.1.2.0 +version: 0.1.3.0 synopsis: Weierstrass Elliptic Functions description: Evaluation of Weierstrass elliptic functions and some related functions. homepage: https://github.com/stla/weierstrass-functions#readme