Shared Scientific Toolbox in Java is a library for scientific and distributed computing. It features multidimensional arrays with extensive linear algebra and FFT support; an asynchronous, high performance networking layer; and annotation abstractions for class loading, logging, and message passing.
| Tags | Mathematics Scientific Computing Matrix Package Statistics Distributed Computing |
|---|---|
| Licenses | GPLv2 LGPLv2.1 |
| Operating Systems | OS Independent |
| Implementation | Java JNI |
Recent releases


Changes: 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.


Changes: 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.


Changes: 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.


Changes: IntegerArray now supports the find operation for extracting indices along a dimension. API method names have been updated to avoid shadowing. Numerous dimensionwise and elementwise operations have been added for IntegerArrays and RealArrays. The Matrix#diag operation has been added, and returns diagonals as column vectors. There are more variants of the Control#transfer convenience method. Multidimensional array I/O has been abstracted as a service.


Changes: Support for reading and writing Matlab "mat" files has been added, making it possible to read in Matlab multidimensional arrays as SST multidimensional arrays, and vice versa. Numerous elementwise operations have been added to multidimensional arrays. Mean filters have been added. A defect that caused class loading mechanisms to generate an excessive number of temporary files has been fixed.
- All comments
Recent commentsUsing Shared
The Shared library is very clean and is nicely packed. Code is highly abstracted so it require some effort to start it up.
Not a problem because Roy, the author, gave me prompt feedback when I asked him questions about the library entry points and usage, which is highly appreciable.
I've used Shared from sound frequencies analysis and visualization in Java:
http://semiophore.net/v4/index.php?option=com_myblog&show=Analyse-des-sons.html&Itemid=1&lang=fr