File Exchange

image thumbnail

Matrix Permanent Using Recursion

version (19.6 KB) by Brian Butler
Computes the permanent of a matrix.


Updated 23 Nov 2016

View Version History

View License

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.

Cite As

Brian Butler (2021). Matrix Permanent Using Recursion (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (1)

Matthew Hickson

MATLAB Release Compatibility
Created with R2016a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

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

Start Hunting!