Jump to content

SuanShu numerical library

From Wikipedia, the free encyclopedia
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
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". math.nist.gov. Retrieved 2021-03-23.
  2. ^ "Fastest Java Matrix Multiplication | NM DEV". NM DEV | Mathematics at Your Fingertips. 2015-08-07. Retrieved 2021-08-02.
  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". Computers & Operations Research. 40 (10): 2387–2397. doi:10.1016/j.cor.2013.04.009. ISSN 0305-0548.
  5. ^ Łukawska, Barbara; Łukawski, Grzegorz; Sapiecha, Krzysztof (2016-10-04). "An implementation of artificial advisor for dynamic classification of objects". Annales Universitatis Mariae Curie-Sklodowska, sectio AI – Informatica. 16 (1): 40. doi:10.17951/ai.2016.16.1.40. ISSN 2083-3628.
  6. ^ Ansari, Mohd Samar (2013-09-03). Non-Linear Feedback Neural Networks: VLSI Implementations and Applications. Springer. ISBN 978-81-322-1563-9.