Chia-Tche Chang

Université catholique de Louvain, Belgium

A genetic algorithm for the joint spectral radius

A Matlab implementation of a genetic algorithm that computes a lower bound on the joint spectral radius of a set of matrices in a short amount of time.

The instructions are located at the beginning of the file and are accessible with the "help" function in Matlab.

Download:
[m] Matlab Code

The Joint Spectral Radius Toolbox for Matlab

The joint spectral radius of a set of matrices characterizes the maximal asymptotic rate of growth of a product of matrices taken in this set, when the length of the product increases. It is known to be very hard to compute. In recent years, many different methods have been proposed to approximate it. These methods have different advantages, depending on the application considered, the type of matrices considered, the desired accuracy or running time, etc.

The goal of this toolbox is to provide the practioner with the best available methods, and propose an easy tool for the researcher to compare the different methods.

Download:
[url] Matlab Central - File Exchange

HYBBRID for optimal OBB approximation

HYBBRID (Hybrid Bounding Box Rotation Identification) is an optimization algorithm computing an approximation of the minimum-volume oriented bounding box of a set of points in the three-dimensional space. It is based on an hybridization of the genetic algorithm and the Nelder-Mead simplex algorithm.

The package contains the source code of HYBBRID, including an implementation of the rotating calipers method in 2D.

Download:
[zip] Matlab Code

O'Rourke's algorithm for optimal OBB computation

A Matlab implementation of O'Rourke's algorithm, which computes the minimum-volume oriented bounding box of a set of points in the three-dimensional space.
The algorithm is described in the article "Finding minimal enclosing boxes" by J. O'Rourke, in International Journal of Computer & Information Sciences 14, pp. 183–199, 1985.

The package contains a Matlab Executable of the algorithm. The MCR Installer is also provided if it is not present on the target computer.

Usage (Windows): oRourke7m.exe <Input_file_name>

Usage (Linux): ./run_oRourke7m.sh <MCR_path> <Input_file_name>
The MCR path can be obtained with the "mcr" command in Matlab if available. If the installer below has been used, this corresponds to the folder inside the location given at the installation. Examples of possible paths are "/usr/local/matlab" or "/opt/MATLAB/MATLAB_Compiler_Runtime/v78".

The input file is a .mat file containing a variable X of size Nx3 containing the 3-D coordinates. Return values are saved in output.mat. The optimal volume is also printed on the screen.

Bugs and comments can be sent to the following address:
X dot Y at Z where X = "Samuel", Y = "Melchior" and Z = "uclouvain.be"

Download:
[zip] Matlab Executable (Linux, MCR 7.8)
[zip] Matlab Executable with MCR Installer (Linux, MCR 7.8)
[zip] Matlab Executable (Windows, MCR 7.7)
[zip] Matlab Executable with MCR Installer (Windows, MCR 7.7)