Numerical Method Inc. publishes SuanShu, a Java numerical and statistical library. The
objective of SuanShu is to enable very easy programming of engineering applications.
Programmers are able to program mathematics in a way that the source code is solidly
object-oriented and individually testable. SuanShu source code adheres to the
strictest coding standard so that it is readable, maintainable, and can be easily
modified and extended.
SuanShu revolutionizes how numerical computing is traditionally done, e.g., netlib, gsl. The repositories of these most popular and somewhat “standard” libraries are rather collections
of ad-hoc source code in obsolete languages, e.g., FORTRAN and C. One biggest
problem of these code is that they are not readable (for most modern
programmers), hence unmaintainable. For example, it is quite a challenge to understand
AS 288, let alone improving it. Other problems include, but not limited to, the
lack of data structure, duplicated code, being entirely procedural, very bad
variable naming, abuse of GOTO, the lack of test cases, insufficient
documentations, the lack of IDE support, inconvenient linking to modern
languages such as Java, being unfriendly to parallel computing, etc.
To address these problems, SuanShu designs a framework of reusable math components (not
procedures) so that programmers can put components together like Legos to build
more complex algorithms. SuanShu is written from anew so that it conforms to the modern programming paradigm such as variable naming, code structuring, reusability, readability,
maintainability, as well as software engineering procedure. To ensure very high
quality of the code and very few bugs, SuanShu has a few thousands of unit test cases that run daily.
The basic of SuanShu covers the following.
- numerical differentiation and integration
- polynomial and Jenkin-Straub
- root finding
- unconstrained and constrained optimization for univariate and multivariate functions
- linear algebra: matrix operations and factorization
- sparse matrix
- descriptive statistics
- random sampling from distributions
Comparing to competing products, SuanShu, as we believe, has the most extensive coverage in statistics. SuanShu covers the following.
- Ordinary Least Square (OLS) regression
- Generalized Linear Model (GLM) regression
- a full suite of residual analysis
- Stochastic Differential Equation (SDE) simulation
- a comprehensive library of hypothesis testing: Kolmogorov-Smirnov,
D'Agostino, Jarque-Bera, Lilliefors, Shapiro-Wilk, One-way ANOVA, T,
Kruskal-Wallis, Siegel-Tukey, Van der Waerden, Wilcoxon rank sum, Wilcoxon
signed rank, Breusch-Pagan, ADF, Bartlett, Brown-Forsythe, F, Levene, Pearson's
- time series analysis, univariate and multivariate
- ARIMA, GARCH modelling, simulation, fitting, and prediction
- sample and theoretical auto-correlation
- hidden Markov chain
- Kalman filter