meta
numerics

Complex Numbers

The library not only defines a complex number class and associated arithmetic operations, but also provides a full array of basic functions of complex numbers (corresponding to those offered by the System.Math class for real numbers). The library can also compute several advanced functions of complex arguments.

Matrix Algebra

The library defines a number of matrix classes and operations on them. The following table summarizes the available matrix operations.

Operation Generic Square Symmetric Tridiagonal
Arithmetic yes yes yes yes
Decomposition   yes yes yes
Determinant   yes yes yes
Inverse   yes yes yes
Eigenvalues and Eigenvectors   yes yes yes

Advanced Functions Library

The advanced functions library defines a large number of advanced mathematical function on real numbers, Complex numbers, and integers. The real and complex advanced functions are summarized in the following table.

Function Real Complex Notes
Gamma yes yes also ln Γ
Psi yes yes  
Beta yes    
Incomplete Gamma yes    
Incomplete Beta yes    
Erf yes yes also erfc, erf-1, Faddeeva
Fresnel Integrals yes    
Exponential Integrals yes   includes En, Ei, Ci, and Si
Cylindrical Bessel J and Y yes   also for non-integer orders
Spherical Bessel j and y yes  
Reimann Zeta yes yes also Dirichlet η
Hermite H yes   physicists' and statisticans' normalization
Laguerre L yes    
Legendre P yes    
Chebyshev T yes    
Zernike R yes    
Clebsch-Gordon yes   also 3j

Functions of integers include Factorials, Binomial coefficients, greatest common denominators (GCD) and least common multiples (LCM).

Library routines support root finding, maximum and minimum finding, and the integration of arbitrary user-supplied functions.

Statistics and Data Analysis

The statistics library provides specialized classes for working with various types of data, including:

  • Univariate Samples
  • Multivariate Samples
  • Experimental Data with Error Bars
  • Contingency Tables

For each kind of data, methods allow you to evaluate descriptive statistics, fit models, and perform appropriate statisical tests. All fits produce not just a best-fit parameter set, but also error bars, a covariance matrix, and a goodness-of-fit test.

Some of the many statistical tests supported by the library are listed below:

Test Name Test Purpose
Student t for equal means
Mann-Whitney U for equal medians
Fisher F for equal variances
Kolmogorov-Smirnov D, Kuiper V for fit to a distribution
χ2 for fit to a function
Pearson r for linear correlation
Spearman ρ, Kendall τ for non-linear correlation
χ2, Kendall exact for categorical correlation

The statistics library defines a large number of probability distributions:

Chi Squared Exponential Fisher Kolmogorov
Kuiper Logistic Lognormal Normal
Student Uniform Weibull

For all defined distributions, you can obtain:

  • Basic Descriptive Statistics: mean, median, variance, standard Deviation
  • Probability Density Function (PDF) values
  • Cumulative Distribution Function (CDF) values, integrated from the left or right
  • Inverse CDF values, i.e. percentile to score conversion
  • Arbitrary raw and central moments

Testing

The library has undergone extensive testing. We test more than 600 mathematical relationships, most for scores of different arguments ranging over many orders of magnitude. If there is a relationship in Abromiwitz and Stegun expressible using our library functions, we have probably tested it. Our test cases achieve code coverage in excess of 80%.