All Projects → Expander → polylogarithm

Expander / polylogarithm

Licence: MIT license
Implementation of various polylogarithms

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language
fortran
972 projects
Mathematica
289 projects
CMake
9771 projects

Projects that are alternatives of or similar to polylogarithm

Sand-Table
An open-source platform for building DIY sand tables (like the Sisyphus or ZenXY)
Stars: ✭ 99 (+482.35%)
Mutual labels:  math
fcal
Extensive math expression evaluator library for JavaScript and Node.js
Stars: ✭ 86 (+405.88%)
Mutual labels:  math
prb-math
Solidity library for advanced fixed-point math
Stars: ✭ 404 (+2276.47%)
Mutual labels:  math
Mathematical-Modeling
数学建模算法学习
Stars: ✭ 189 (+1011.76%)
Mutual labels:  math
MO-Problem-Journal
A journal of theorems, lemmas and problems for Mathematical Olympiads.
Stars: ✭ 45 (+164.71%)
Mutual labels:  math
magento-grid-colors
Magento 2 Grid Colors module for colorizing admin grids. Supports saving of states with the help of grid's bookmarks.
Stars: ✭ 54 (+217.65%)
Mutual labels:  mit-license
janusweb
An in-browser implementation of JanusVR
Stars: ✭ 145 (+752.94%)
Mutual labels:  mit-license
cas
Cellular Automata Simulator
Stars: ✭ 22 (+29.41%)
Mutual labels:  math
racket-cas
Simple computer algebra system
Stars: ✭ 58 (+241.18%)
Mutual labels:  math
brush
An amazing scaffolding for developing database-driven websites, applications and APIs. Built on Laravel Lumen Framework, MySQL and Angular.
Stars: ✭ 23 (+35.29%)
Mutual labels:  mit-license
grafar
Reactive multidimensional math & data visualization for the web.
Stars: ✭ 548 (+3123.53%)
Mutual labels:  math
tr29124 test
C++ special math functions
Stars: ✭ 16 (-5.88%)
Mutual labels:  special-functions
MathLib
The Math Algorithm
Stars: ✭ 38 (+123.53%)
Mutual labels:  math
AbstractFFTs.jl
A Julia framework for implementing FFTs
Stars: ✭ 72 (+323.53%)
Mutual labels:  math
zalgebra
Linear algebra library for games and real-time graphics.
Stars: ✭ 129 (+658.82%)
Mutual labels:  math
twenty-twenty-hugo
Twenty Twenty Hugo is forked from WordPress Twenty Twenty theme. It's fully functional like the WordPress theme.
Stars: ✭ 48 (+182.35%)
Mutual labels:  mit-license
color-math
Expressions to manipulate colors.
Stars: ✭ 18 (+5.88%)
Mutual labels:  math
Cold-Family-Feud
Host your own Family Feud game. Mobile friendly with built in buzzers.
Stars: ✭ 30 (+76.47%)
Mutual labels:  mit-license
pyGameMath
Math library for game programming in python.
Stars: ✭ 20 (+17.65%)
Mutual labels:  math
liuyxpp.github.io
Homepage for my research group as an example of LYX Jekyll Theme.
Stars: ✭ 18 (+5.88%)
Mutual labels:  math

Polylogarithm

Build Status

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++

#include "Li.hpp"
#include "Li2.hpp"
#include "Li3.hpp"
#include "Li4.hpp"
#include "Li5.hpp"
#include "Li6.hpp"
#include <iostream>

int main() {
   using namespace polylogarithm;

   const double x = 1.0;
   const std::complex<double> 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].

The implementation of the complex dilogarithm is inspired by the implementation in SPheno.

The implementation of the general n-th order complex polylogarithm an adaptation of [arXiv:2010.09860].

Copying

Polylogarithm is licenced under the MIT License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].