Award
HomeContactHardwareSouvenirsDocumentsPurchase

Free software

PSI provides software on this page free of charge under a BSD-style open source license.

PSI makes no warranty for this free software and we disclaim any and all implied warranties or conditions, including any implied warranty of title, of noninfringement, of merchantability, or of fitness for a particular purpose.

Software icons

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.

SoftwarePlatformAppSourceLicense
bTop-2 softwareCross-platformread 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 icon

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.

Primekit icon

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 icon

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 icon

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

Credits

Valid HTML 4.01! Valid CSS!