#numerical #science

spfunc

Rust crate for numerical calculation of special functions

1 unstable release

0.1.0 Apr 10, 2021

#1688 in Math

Download history 41/week @ 2024-03-13 26/week @ 2024-03-20 89/week @ 2024-03-27 42/week @ 2024-04-03 51/week @ 2024-04-10 53/week @ 2024-04-17 48/week @ 2024-04-24 55/week @ 2024-05-01 77/week @ 2024-05-08 52/week @ 2024-05-15 75/week @ 2024-05-22 63/week @ 2024-05-29 282/week @ 2024-06-05 117/week @ 2024-06-12 68/week @ 2024-06-19 72/week @ 2024-06-26

564 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