Software:SuanShu numerical library

From HandWiki
Short description: Java math library
SuanShu
Stable release
20120606 / 2012-06-06
Written inJava
TypeMath
LicenseApache License 2.0
Websitegithub.com/nmltd/SuanShu

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]

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

References

  1. "Java Numerics: Main". https://math.nist.gov/javanumerics/. 
  2. "Fastest Java Matrix Multiplication | NM DEV". 2015-08-07. https://nm.dev/2015/08/07/accelerating-matrix-multiplication/. 
  3. Möhlmann, Eike (2018). Automatic stability verification via Lyapunov functions: representations, transformations, and practical issues (phd thesis). Universität Oldenburg.
  4. Christou, Ioannis T.; Vassilaras, Spyridon (2013-10-01). "A parallel hybrid greedy branch and bound scheme for the maximum distance-2 matching problem" (in en). Computers & Operations Research 40 (10): 2387–2397. doi:10.1016/j.cor.2013.04.009. ISSN 0305-0548. https://www.sciencedirect.com/science/article/pii/S0305054813001159. 
  5. Łukawska, Barbara; Łukawski, Grzegorz; Sapiecha, Krzysztof (2016-10-04). "An implementation of articial advisor for dynamic classication of objects" (in en). Annales Universitatis Mariae Curie-Sklodowska, sectio AI – Informatica 16 (1): 40. doi:10.17951/ai.2016.16.1.40. ISSN 2083-3628. https://reshistorica.journals.umcs.pl/ai/article/view/3502. 
  6. Ansari, Mohd Samar (2013-09-03) (in en). Non-Linear Feedback Neural Networks: VLSI Implementations and Applications. Springer. ISBN 978-81-322-1563-9. https://books.google.com/books?id=mi66BQAAQBAJ&q=%22suanshu%22+java&pg=PR10.