Projects / Shared Scientific Toolbox in Java

Shared Scientific Toolbox in Java

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.

Operating Systems

Recent releases

  •  10 Jan 2011 05:17

    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.*.

    •  02 Apr 2010 07:42

      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.

      •  21 Apr 2009 11:31

        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.

        •  20 Mar 2009 10:45

          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.

          •  14 Feb 2009 11:35

            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.

            Recent comments

            01 Oct 2008 18:36 semiosys

            Using 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:



            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.