The Shared Scientific Toolbox is a library that facilitates development of efficient, modular, and robust scientific/distributed computing applications in Java. It features multidimensional arrays with extensive linear algebra and FFT support, an asynchronous, scalable networking layer, and advanced class loading, message passing, and statistics packages.
|Tags||Mathematics Scientific Computing Matrix Package Statistics Distributed Computing|
|Operating Systems||OS Independent|
|Implementation||Java JNI C++|
Release Notes: The networking package has been extensively refactored so that connection callback handlers can be implemented independently of transport mechanisms. The intercepting filter mechanism has been formalized to increase programmability of custom protocols. Previous dependency relations have been decoupled in anticipation of standalone use of individual packages. The entire codebase has been beautified and reworked to conform to best practices. The build process has been updated to support both 32- and 64-bit Windows cross-compilation. The shared.* hierarchy has been renamed to org.shared.*.
Release Notes: More array methods have been added, like Array#concat and IntegerArray#ndgrid. Resource annotations have been updated to be less verbose. The build process has been updated to accomodate Mac OS X. Compression and decompression codecs have been added as part of the shared.codec package. An Ubuntu package is now available. Multiple bugs in the JNI library were refactored and fixed.
Release Notes: Object arrays have been updated to carry reified, and not erased, types. A utility class for combinatorics has been added. Plotting abstractions have been upgraded to support surface plots. Numerous array utility methods have been added. The networking layer has been upgraded to use an internally multithreaded design. Filter abstractions have been introduced to allow users to transform inbound and outbound data. Preliminary SSL/TLS support, implemented as a filter, is now available.
Release Notes: Dynamically growable arrays of primitive values have been added. RealArray reduce operations now accept multiple dimensions of interest. Numerous convenience methods have been added, including binary searching that returns "nearest" indices. Plotting abstractions have been improved for usability and generalizability. The build process is now fully integrated with Apache Ivy.
Release Notes: Linear algebra operations for singular value decomposition, eigenvalue decomposition, and matrix inverses have been added -- the user may find these as RealArray#mSVD, RealArray#mEigs, and RealArray#mInvert, respectively. Multidimensional sparse arrays have been added and ascribe to the standard Array interface. Java 1.6 is now required to build and run. The build process now uses Apache Ivy to manage external dependencies. The native layer has been fully documented with Doxygen, and a Make target has been added.