SuanShu | |
---|---|
Stable release | 20120606
/ 2012-06-06 |
Written in | Java |
Type | Math |
License | Apache License 2.0 |
Website | github |
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]
SuanShu is released under the terms of the Apache License 2.0
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)));