Permanent

DOWNLOAD Mathematica Notebook

The permanent is an analog of a determinant where all the signs in the expansion by minors are taken as positive. The permanent of a matrix A is the coefficient of x_1...x_n in

 product_(i=1)^n(a_(i1)x_1+a_(i2)x_2+...+a_(in)x_n)
(1)

(Vardi 1991). Another equation is the Ryser formula

 perm(a_(ij))=(-1)^nsum_(s subset= {1,...,n})(-1)^(|s|)product_(i=1)^nsum_(j in s)a_(ij),
(2)

where the sum is over all subsets of {1,...,n}, and |s| is the number of elements in s (Vardi 1991). Muir (1960, p. 19) uses the notation |; +|; + to denote a permanent.

The permanent can be implemented in the Wolfram Language as

  Permanent[m_List] :=
    With[{v = Array[x, Length[m]]},
      Coefficient[Times @@ (m.v), Times @@ v]
  ]

The computation of permanents has been studied fairly extensively in algebraic complexity theory. The complexity of the best-known algorithms grows as the exponent of the matrix size (Knuth 1998, p. 499), which would appear to be very surprising, given the permanent's similarity to the tractable determinant. Computation of the permanent is #P-complete (i.e, sharp-P complete; Valiant 1979).

If M is a unitary matrix, then

 |perm(M)|<=1
(3)

(Minc 1978, p. 25; Vardi 1991). The maximum permanent for an n×n (0,1)-matrix is n!, corresponding to all elements 1.

Wolfram Web Resources

Mathematica »

The #1 tool for creating Demonstrations and anything technical.

Wolfram|Alpha »

Explore anything with the first computational knowledge engine.

Wolfram Demonstrations Project »

Explore thousands of free applications across science, mathematics, engineering, technology, business, art, finance, social sciences, and more.

Computerbasedmath.org »

Join the initiative for modernizing math education.

Online Integral Calculator »

Solve integrals with Wolfram|Alpha.

Step-by-step Solutions »

Walk through homework problems step-by-step from beginning to end. Hints help you try the next step on your own.

Wolfram Problem Generator »

Unlimited random practice problems and answers with built-in Step-by-step solutions. Practice online or make a printable study sheet.

Wolfram Education Portal »

Collection of teaching and learning tools built by Wolfram education experts: dynamic textbook, lesson plans, widgets, interactive Demonstrations, and more.

Wolfram Language »

Knowledge-based programming for everyone.