PSI provides software on this page free of charge under a BSD-style open source license. Only if you have read and agree to the license (by clicking on the appropriate link in the right column of the table below) should you download the software and source code in the table that follows.

SoftwarePlatformAppSourceLicense
bTop-2 softwareCross-platformview detailsread license
WaveletLabMac OS Xdownloaddownloadread license
StockLab ProMac OS Xdownload read license
IMKitMac OS Xdownloaddownloadread license
PrimeKitMathematica downloadread license
GiantIntCross-platform downloadread license
AlgorithmSamplerCross-platform downloadread license
FastAlgorithmsCross-platform downloadread license

Below is a brief description of each piece of software.

WaveletLab icon

WaveletLab — for Mac OS X

WaveletLab lets you compress image files starting from many formats, so you can assess image entropy and compare with other compression motifs. There are many options including wavelet-pyramid depth, lossless mode, quality settings, and advanced options such as detail-masking.

NOTE: This WaveletLab is not a JPEG-2000 compliant application, nor does it comply with any particular standard. It should be thought of as more of a tutorial on how wavelets work during image compression. In fact, all of the technology in WaveletLab is public-domain, and yet can be said to strongly depart from the JPEG-2000 paradigm in many ways.

StockLab Pro icon

StockLab Pro — for Mac OS X

StockLabPro lets you analyze real stock data from the past, make interesting plots of algorithmic analyses, including proprietary PSI algorithms such as fractal-signal dimension of a stock graph.

IMKit icon

IMKit — for Mac OS X

IMKit stands for Intelligent Media Kit, an application for Mac OS 9 and Mac OS X.

You connect (possibly multiple!) cameras and microphones to your Mac, to construct various intelligent-monitoring systems. PSI's IMKit has the unique features of video/audio filters, and also true multiple real-time camera displays. We have an IMKit tour that pictorializes such intelligent options.

PrimeKit — for Mathematica

PrimeKit contains an implementation — as Mathematica source — of all 112 of the algorithms dicussed in the book Prime Numbers: A Computational Perspective by Richard Crandall and Carl Pomerance. Because these algorithm sources are designed for pedagogical strength (the code is clear & tutorial, as opposed to heavily-optimized), there is an "Extras" folder containing some efficient number-theoretical C sources.

GiantInt — cross-platform C code

GiantInt is a number-theoretical package for large-integer arithmetic.

Software overview

The GiantInt package consists of a library of routines for large integer arithmetic and number theory. Included are: large-integer operations, on type 'giant' structures, factoring programs that show how to use the large integers, and a sample Lucas-Lehmer test for Mersenne numbers.

Contents

AlgorithmSampler — cross-platform C/C++ code

Software that provides a tour of basic algorithms for: compression, fractal generation, quasi-Monte Carlo constructions. The particular pieces of AlgorithmSampler were chosen because they integrate well together; for example space-filling fractals can be used in quasi-Monte Carlo, and also in compression studies.

Software overview

The AlgorithmSampler is a release of advanced algorithms that we have found useful in industrial applications.

Contents

FastAlgorithms — cross-platform C code

Software tour & tutorials for classic fast algorithms, including convolutions, transforms, and matrix algebra. Like other PSI packages, FastAlgorithms amounts to a kit for the user to reference in constructing his/her own applications.

Software overview

FastAlgorithms is a release of implementations we have found useful in application scenarios for which performance (mainly speed) is of paramount importance.

The transfor folder contains some of the fastest Fourier-and-related transforms of which we are aware. Included are number- theoretical transforms appropriate for integer convolution.

The convo folder contains a highly memory-efficient Nussbaumer convolution implementation, suitable for very fast polynomial applications.

The matrix folder contains various, fast matrix implementations, for matrix multiplication and inversion.

Contents