Matrix Permanent Using Recursion

Computes the permanent of a matrix.
311 téléchargements
Mise à jour 23 nov. 2016

Afficher la licence

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.

Citation pour cette source

Brian Butler (2026). Matrix Permanent Using Recursion (https://fr.mathworks.com/matlabcentral/fileexchange/53434-matrix-permanent-using-recursion), MATLAB Central File Exchange. Extrait(e) le .

Compatibilité avec les versions de MATLAB
Créé avec R2016a
Compatible avec toutes les versions
Plateformes compatibles
Windows macOS Linux
Catégories
En savoir plus sur Linear Algebra dans Help Center et MATLAB Answers
Version Publié le Notes de version
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.