SuanShu is a
Java math library. It is open-source under Apache License 2.0 available i
GitHub SuanShu is a large collection of Java classes for basic numerical analysis, statistics, and optimization. It implements a parallel version of the adaptive strassen's algorithm for fast matrix multiplication. SuanShu has been quoted and used in a number of academic works.
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 = , 5
The comma is a punctuation mark that appears in several variants in different languages. It has the same shape as an apostrophe or single closing quotation mark () in many typefaces, but it differs from them in being placed on the baseline ...
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
{{reflist
Numerical libraries
Java (programming language) libraries
Public-domain software with source code
Numerical software