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 |
 |
 |
 |
 |
| Decomposition |
|
 |
 |
 |
| Determinant |
|
 |
 |
 |
| Inverse |
|
 |
 |
 |
| Eigenvalues and Eigenvectors |
|
 |
 |
 |
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 |
 |
 |
also ln Γ |
| Psi |
 |
 |
|
| Beta |
 |
|
|
| Incomplete Gamma |
 |
|
|
| Incomplete Beta |
 |
|
|
| Erf |
 |
 |
also erfc, erf-1, Faddeeva |
| Fresnel Integrals |
 |
|
|
| Exponential Integrals |
 |
|
includes En, Ei, Ci, and Si |
| Cylindrical Bessel J and Y |
 |
|
also for non-integer orders |
| Spherical Bessel j and y |
 |
|
| Reimann Zeta |
 |
 |
also Dirichlet η |
| Hermite H |
 |
|
physicists' and statisticans' normalization |
| Laguerre L |
 |
|
|
| Legendre P |
 |
|
|
| Chebyshev T |
 |
|
|
| Zernike R |
 |
|
|
| Clebsch-Gordon |
 |
|
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%.
|