#numerical #science

spfunc

Rust crate for numerical calculation of special functions

1 unstable release

0.1.0 Apr 10, 2021

#2039 in Math

Download history 237/week @ 2024-11-15 127/week @ 2024-11-22 59/week @ 2024-11-29 91/week @ 2024-12-06 149/week @ 2024-12-13 30/week @ 2024-12-20 51/week @ 2024-12-27 73/week @ 2025-01-03 74/week @ 2025-01-10 84/week @ 2025-01-17 69/week @ 2025-01-24 76/week @ 2025-01-31 136/week @ 2025-02-07 190/week @ 2025-02-14 67/week @ 2025-02-21 68/week @ 2025-02-28

470 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