Welcome to mathextra
Functions from Mathematical Statistics, Special Functions, and miscellaneous functions useful in science and engineering. Also the home of BLADE, the Basic Linear Algebra D Expressions library. For 3D applications developers, there another D library: Helix.
For discussion information, visit the mathextra forum.
Project Status
Development halted with changeset 190 on 02-06-2009.
From a 01-30-2007 forum post:
Subject: This project has been abandoned _in its current form_
...but most of it has already been incorporated into Tango. <g>
See also: http://www.dsource.org/projects/tango/browser/trunk/tango/math
License
All source code is under the MIT license, and free for commercial and non-commercial use.
Design Principles
The first priority is accuracy, followed by performance. There is no value in providing results quickly if they are wrong.
* As far as possible, all functions attempt to provide full machine precision (80-bits on Intel/AMD CPUs).
* All functions return correct results for infinity, and for signed zero.
* Unit tests are provided for all functions, with >90% test coverage.
Functions are named with descriptive names, rather than traditional mathematical names. Mathematica was used as a reference for many of the names. camelCase is used, to be consistent with the D standard library.
List of included functions
Mathematical Special Functions
gamma, logGamma. beta. productLog elliptical functions Bessel functions
Mathematical Statistics
Distributions and inverse distributions for the most common probability distributions. Complementary distributions (ie, 1-p) are provided to ensure high relative accuracy for near-unity probablities. Currently, the following distributions are supported:
normal, poisson, studentsT, fisher, chiSquare, beta, gamma, incomplete gamma, binomial and negative binomial distributions. Inverse distributions are provided for all of the above.
Curve fitting and function analysis
findRoot minimizeFunc leastSquaresFit
Discrete Mathematics
Signal Processing
fastFourierTransform
Miscellaneous
bit manipulation