Matrix Permanent Using Recursion

Computes the permanent of a matrix.
289 descargas
Actualizado 23 nov 2016

Ver licencia

Computes the permanent of a matrix using recursion. The technique is known as "expansion by minors" or the Laplace expansion. Two versions are included:
1) The MATLAB language routine permanent_mat() is about 8 times faster than equivalent native MATLAB function by Xu plus it has some optimization for sparse matrices.

2) The C language routine permanent()uses the CMEX interface to integrate into MATLAB. It is more than 500 times faster than the native MATLAB function by Xu. Also, I have found it to be faster than more advanced algorithms when the matrix is very sparse. One optimization available in C is that the matrix is kept in-place, in memory. Thus, less memory in consumed and less time is spent copying the matrix.

Citar como

Brian Butler (2024). Matrix Permanent Using Recursion (https://www.mathworks.com/matlabcentral/fileexchange/53434-matrix-permanent-using-recursion), MATLAB Central File Exchange. Recuperado .

Compatibilidad con la versión de MATLAB
Se creó con R2016a
Compatible con cualquier versión
Compatibilidad con las plataformas
Windows macOS Linux
Categorías
Más información sobre Linear Algebra en Help Center y MATLAB Answers.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Versión Publicado Notas de la versión
1.3.1.0

Updated title and description. Very small change to permanent_mat.m to make it cleaner.

1.3.0.0

Add support for rectangular matrices (more columns than rows).

1.2.0.0

Fixes to supplementary files; no change to CMEX.

1.1.0.0

Updated cover figure.
* Added support for complex input matrices.
* Error checking for non-numeric and sparse format inputs.
* Return a permanent of 1 for 0x0 (empty matrix) input.
* Supplemental: added equivalent MATLAB functions and further speedtesting.
updated requirements.
typo in description

1.0.0.0

Edited description

Made note of small memory requirement.
Added description to front graphic,
Added a figure.