Free software from Perfectly Scientific, Inc.
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.
| Software | Platform | App | Source | License |
|---|---|---|---|---|
| bTop-2 software | Cross-platform | 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 |
| PrimeKit | Mathematica | download | read license | |
| GiantInt | Cross-platform | download | read license | |
| AlgorithmSampler | Cross-platform | download | read license | |
| FastAlgorithms | Cross-platform | download | read license |
Below is a brief description of each piece of software.
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 — 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 — 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 every one of the algorithms in the book Prime Numbers: A Computational Perspective by Richard Crandall and Carl Pomerance.
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
- numberth:
Number-theoretical programs for factoring and primality testing.
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
- compress:
compression algorithms, including: arithmetic encoder, Elias encoder, Huffman encoder, BSTW front-end encoder; convenient support libraries. - fractals:
various fractal generating routines and applications thereof. Space-filling curves are used for some interesting new applications, such as efficient measurement of fractal dimension. - genetic:
implementation of genetic algorithms, including: Traveling Salesperson (TS) demonstration, permutations library for general genetic applications, and general genetic optimizer for d-dimensional optimization. - qmontec:
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. - numberth:
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.
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
- con2d.ps:
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. - con32k.ps:
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. - confgt.ps:
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. - matrix:
fast matrix methods, notably Strassen multiply and Strassen inversion. - convo:
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. - transfor:
fast transforms, including Fast Fourier transform (FFT), fast Hartley (FHT), fast Hermitian- or real-valued-FFT (RVFFT), Walsh-Hadamard transform, number- theoretical transforms (NTTs).