https://github.com/apn-pucky/polylogarithm
Implementation of polylogarithms in C/C++/Fortran
Science Score: 10.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
○codemeta.json file
-
○.zenodo.json file
-
○DOI references
-
✓Academic publication links
Links to: arxiv.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (7.6%) to scientific vocabulary
Last synced: 10 months ago
·
JSON representation
Repository
Implementation of polylogarithms in C/C++/Fortran
Basic Info
Statistics
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
- Releases: 0
Fork of Expander/polylogarithm
Created over 2 years ago
· Last pushed over 2 years ago
https://github.com/APN-Pucky/polylogarithm/blob/master/
Polylogarithm ============= [](https://github.com/Expander/polylogarithm/actions) The Polylogarithm package provides C, C++ and Fortran implementations of various polylogarithms, including the real and complex dilogarithm, trilogarithm, and (Standard and Glaisher) Clausen functions. The implementations have been fully tested against the literature and many other implementations and are highly optimized for fast numerical evaluation. The package has no external dependencies, except for the C/C++/Fortran standard libraries. The implementations of the individual polylogarithm functions are distributed among different source code files, so individual source code files can be easily extracted and incorporated into existing projects. Example in C++ -------------- ```.cpp #include "Li.hpp" #include "Li2.hpp" #include "Li3.hpp" #include "Li4.hpp" #include "Li5.hpp" #include "Li6.hpp" #includeint main() { using namespace polylogarithm; const double x = 1.0; const std::complex z(1.0, 1.0); // real polylogarithms for real arguments std::cout << "Li_2(" << x << ") = " << Li2(x) << '\n' << "Li_3(" << x << ") = " << Li3(x) << '\n' << "Li_4(" << x << ") = " << Li4(x) << '\n'; // complex polylogarithms for complex arguments std::cout << "Li_2(" << z << ") = " << Li2(z) << '\n' << "Li_3(" << z << ") = " << Li3(z) << '\n' << "Li_4(" << z << ") = " << Li4(z) << '\n' << "Li_5(" << z << ") = " << Li5(z) << '\n' << "Li_6(" << z << ") = " << Li6(z) << '\n' << "Li_10(" << z << ") = " << Li(10,z) << '\n'; } ``` Output: ``` Li_2(1) = 1.64493 Li_3(1) = 1.20206 Li_4(1) = 1.08232 Li_2((1,1)) = (0.61685,1.46036) Li_3((1,1)) = (0.871159,1.26708) Li_4((1,1)) = (0.959319,1.13804) Li_5((1,1)) = (0.987467,1.06844) Li_6((1,1)) = (0.99615,1.03355) Li_10((1,1)) = (0.999962,1.00199) ``` Notes ----- The implementation of the real dilogarithm is an adaptation of [[arXiv:2201.01678](https://arxiv.org/abs/2201.01678)]. The implementation of the complex dilogarithm is inspired by the implementation in [SPheno](https://spheno.hepforge.org/). The implementation of the real trilogarithm is an adaptation of [[arXiv:2308.11619](https://arxiv.org/abs/2308.11619)]. The implementation of the general n-th order complex polylogarithm an adaptation of [[arXiv:2010.09860](https://arxiv.org/abs/2010.09860)]. Copying ------- Polylogarithm is licenced under the MIT License.
Owner
- Name: Alexander Puck Neuwirth
- Login: APN-Pucky
- Kind: user
- Company: Uni Münster
- Website: https://apn-pucky.github.io/
- Repositories: 163
- Profile: https://github.com/APN-Pucky