#numerical #science

spfunc

Rust crate for numerical calculation of special functions

1 unstable release

0.1.0 Apr 10, 2021

#1929 in Math

Download history 136/week @ 2024-07-19 79/week @ 2024-07-26 84/week @ 2024-08-02 100/week @ 2024-08-09 67/week @ 2024-08-16 55/week @ 2024-08-23 51/week @ 2024-08-30 66/week @ 2024-09-06 35/week @ 2024-09-13 39/week @ 2024-09-20 62/week @ 2024-09-27 44/week @ 2024-10-04 49/week @ 2024-10-11 84/week @ 2024-10-18 68/week @ 2024-10-25 89/week @ 2024-11-01

297 downloads per month
Used in alpha_stable

MIT license

18KB
330 lines

spfunc

Rust crate for numerical calculation of special functions.

This crate can calculate each special function for f32, f64, Complex32, Complex64 (from num_complex crate).

Note

This crate is still in the development stage and the numerical calculations are not so accurate (especially Hurwitz zeta function).

Functions

The Gamma Function

  • The gamma function
  • The digamma function
  • The polygamma function

The Zeta Function

  • The Riemann zeta function
  • The Hurwitz zeta function

How to use

use spfunc::gamma::*;
use cauchy::{c32, c64};

fn main() {
    println!("Gamma(1.0) = {}", gamma(1.0));
    println!("ln(Gamma(1.0)) = {}", gamma_ln(1.0));

    println!("Gamma(1.2+3.4i) = {}", gamma(c32::new(1.2, 3.4)));
    println!("ln(Gamma(1.2+3.4i)) = {}", gamma_ln(c32::new(1.2, 3.4)));
    
    println!("DiGamma(1.2+3.4i) = {}", digamma(c64::new(1.2, 3.4)));
    println!("TriGamma(1.2+3.4i) = {}", polygamma(c64::new(1.2, 3.4), 1))
}

Dependencies

~0.6–1MB
~18K SLoC