PSI » Free software
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.
|bTop-2 software||Cross-platform||view details||read license|
|WaveletLab||Mac OS X||download||download||read license|
|StockLab Pro||Mac OS X||download||read license|
|IMKit||Mac OS X||download||download||read license|
Below is a brief description of each piece of software.
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.
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 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 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 is a number-theoretical package for large-integer arithmetic.
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.
Number-theoretical programs for factoring and primality testing.
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.
The AlgorithmSampler is a release of advanced algorithms that we have found useful in industrial applications.
compression algorithms, including: arithmetic encoder, Elias encoder, Huffman encoder, BSTW front-end encoder; convenient support libraries.
various fractal generating routines and applications thereof. Space-filling curves are used for some interesting new applications, such as efficient measurement of fractal dimension.
implementation of genetic algorithms, including: Traveling Salesperson (TS) demonstration, permutations library for general genetic applications, and general genetic optimizer for d-dimensional optimization.
quasi-Monte Carlo (qMC) routines for higher-dimensional numerical integration. Examples include: qMC volume of unit d-ball, qMC integrals for up to 20 dimensions.
C++ wrapper, for ease of use of the large-integer arithmetic in the library giantint/numberth/giants.c. Tutoring source exhibits use of operators and methods.
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.
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.
Optimization of 2-dimensional, real convolutions.
Technical paper on 2-dimensional, real-signal convolutions, showing how to employ Hermitian or Hartley transforms (as is done in the transfor/fft code) to effect rapid, memory-efficient, 2-dimensional convolutions.
Floating-point convolutions of length 3*2k.
Technical paper on convolutions of length 3*2k. The software in transfor/fft can be used together with the ideas of the paper, to effect such convolutions.
Integer convolution via split-radix fast Galois transform.
Technical paper on integer convolution using a new approach; the use of split-radix FGT relevant to pure-real input data.
fast matrix methods, notably Strassen multiply and Strassen inversion.
fast integer convolution based on the Nussbaumer algorithm. Both cyclic and negacyclic varieties are given, with signal elements evaluated either (mod p) for some given unsgined int p, or with 'giant' signal elements of arbitrary precision.
fast transforms, including Fast Fourier transform (FFT), fast Hartley (FHT), fast Hermitian- or real-valued-FFT (RVFFT), Walsh-Hadamard transform, number- theoretical transforms (NTTs).