Accelerating the pace of engineering and science

Documentation Center

• Trial Software

linalg::permanent

Permanent of a matrix

Use only in the MuPAD Notebook Interface.

This functionality does not run in MATLAB.

Syntax

```linalg::permanent(A)
```

Description

linalg::permanent(A) computes the permanent of the square matrix A.

The component ring of the matrix A must be a commutative ring, i.e., a domain of category Cat::CommutativeRing.

Examples

Example 1

We compute the permanent of the following matrix:

```delete a11, a12, a21, a22:
A := matrix([[a11, a12], [a21, a22]])```

which gives us the general formula for the permanent of an arbitrary 2 ×2 matrix:

`linalg::permanent(A)`

Example 2

The permanent of a matrix can be computed over arbitrary commutative rings. Let us create a random matrix defined over the ring 6, the integers modulo 6:

`B := linalg::randomMatrix(5, 5, Dom::IntegerMod(6))`

The permanent of this matrix is:

`linalg::permanent(B)`

Its determinant is:

`det(B)`

Parameters

 A A square matrix of a domain of category Cat::Matrix

Return Values

Element of the component ring of A.

Algorithms

The permanent of an n×n matrix A = (ai, j)1 ≤ in, 1 ≤ jn is defined similary as the determinant of A, only the signs of the permutations do not enter the definition:

.

(Sn is the symmetric group of all permutations of {1, …, n}.)

In contrast to the computation of the determinant, the computation of the permanent takes time O(n2 2n).