SuanShu numerical library
Java math library From Wikipedia, the free encyclopedia
SuanShu is a Java math library. It is open-source under Apache License 2.0 available in GitHub. SuanShu is a large collection of Java classes for basic numerical analysis, statistics, and optimization.[1] It implements a parallel version of the adaptive strassen's algorithm for fast matrix multiplication.[2] SuanShu has been quoted and used in a number of academic works.[3][4][5][6]
Stable release | 20120606
/ 2012-06-06 |
---|---|
Written in | Java |
Type | Math |
License | Apache License 2.0 |
Website | github |
Features
- linear algebra
- root finding
- curve fitting and interpolation
- unconstrained and constrained optimization
- statistical analysis
- linear regression
- probability distributions and random number generation
- ordinary and partial differential equation solvers
License terms
SuanShu is released under the terms of the Apache License 2.0
Examples of usage
The following code shows the object-oriented design of the library (in contrast to the traditional procedural design of many other FORTRAN and C numerical libraries) by a simple example of minimization.
LogGamma logGamma = new LogGamma(); // the log-gamma function
BracketSearchMinimizer solver = new BrentMinimizer(1e-8, 10); // precision, max number of iterations
UnivariateMinimizer.Solution soln = solver.solve(logGamma); // optimization
double x_min = soln.search(0, 5); // bracket = [0, 5]
System.out.println(String.format("f(%f) = %f", x_min, logGamma.evaluate(x_min)));
See also
- SOCP - Explanation of Second Order Conic Programming
- SDP - Explanation of Semidefinite Programming
- SQP - Explanation of Sequential quadratic programming
- Interior Point Method
- Adaptive strassen's algorithm – fast matrix multiplication
- Apache License 2.0 - Version 2 of the Apache Software License
References
Wikiwand - on
Seamless Wikipedia browsing. On steroids.