add wigner9j symbols. update README, .gitignore Manifest

This commit is contained in:
Thomas (Tom) C. Gorordo 2024-08-15 07:18:17 -07:00
parent 473e618cf0
commit 152d52595e
Signed by: tgorordo
GPG key ID: 0CBED22BB0D94490
6 changed files with 206 additions and 12 deletions

View file

@ -52,6 +52,7 @@ While the following function signatures are probably self-explanatory, you can q
for them in the Julia REPL to get further details.
* `wigner3j(T::Type{<:Real} = RationalRoot{BigInt}, j₁, j₂, j₃, m₁, m₂, m₃ = -m₂-m₁) -> ::T`
* `wigner6j(T::Type{<:Real} = RationalRoot{BigInt}, j₁, j₂, j₃, j₄, j₅, j₆) -> ::T`
* `wigner9j(T::Type{<:Real} = RationalRoot{BigInt}, j₁, j₂, j₃, j₄, j₅, j₆, j₇, j₈, j₉) -> ::T`
* `clebschgordan(T::Type{<:Real} = RationalRoot{BigInt}, j₁, m₁, j₂, m₂, j₃, m₃ = m₁+m₂) -> ::T`
* `racahV(T::Type{<:Real} = RationalRoot{BigInt}, j₁, j₂, j₃, m₁, m₂, m₃ = -m₁-m₂) -> ::T`
* `racahW(T::Type{<:Real} = RationalRoot{BigInt}, j₁, j₂, J, j₃, J₁₂, J₂₃) -> ::T`
@ -89,9 +90,8 @@ Also uses ideas from
[2] [J. Rasch and A. C. H. Yu, SIAM Journal on Scientific Compututing 25 (2003), 14161428](https://doi.org/10.1137/S1064827503422932)
for caching the computed 3j and 6j symbols.
for caching the computed 3j and 6j symbols. Wigner 9-j symbols implemented based on
## Todo
* Wigner 9-j symbols, as explained in [1] and based on
[3] [L. Wei, New formula for 9-j symbols and their direct calculation, Computers in Physics, 12 (1998), 632634.](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.481.5946&rep=rep1&type=pdf)
[3] [L. Wei, New formula for 9-j symbols and their direct calculation, Computers in Physics, 12 (1998), 632634.](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.481.5946&rep=rep1&type=pdf)
with binomials additionally optimized using the methods described in [1].