
MATRIX PERMANENTName:
where A_{1j} is the entry in row 1 and column j of A and a_{j} is the determinant of the matrix obtained by omitting the first row and column j of A. This is a recursive definition. The determinant of a 2x2 matrix:
is ab  cd. The permanent of a matrix is similar to the determinant. However, the sign is postive for all terms in the sum (instead of alternating as it does for the determinant). The permanent of a matrix has applications in combinatorial analysis.
<SUBSET/EXCEPT/FOR qualification> where <mat> is a matrix for which the permanent is to be computed; <par> is a parameter where the resulting permanent is saved; and where the <SUBSET/EXCEPT/FOR qualification> is optional (and rarely used in this context).
. Following example from Nijenhuis and Wilf DIMENSION 100 COLUMNS LET ICNT = 0 . READ MATRIX M 0 1 1 0 END OF DATA LET A = MATRIX PERMANENT M LET ICNT = ICNT + 1 LET NVAL(ICNT) = 2 LET PERM(ICNT) = A DELETE M . READ MATRIX M 0 1 1 1 0 1 1 1 0 END OF DATA LET A = MATRIX PERMANENT M LET ICNT = ICNT + 1 LET NVAL(ICNT) = 3 LET PERM(ICNT) = A DELETE M . READ MATRIX M 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 END OF DATA LET A = MATRIX PERMANENT M LET ICNT = ICNT + 1 LET NVAL(ICNT) = 4 LET PERM(ICNT) = A DELETE M . READ MATRIX M 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 END OF DATA LET A = MATRIX PERMANENT M LET ICNT = ICNT + 1 LET NVAL(ICNT) = 5 LET PERM(ICNT) = A DELETE M . READ MATRIX M 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 END OF DATA LET A = MATRIX PERMANENT M LET ICNT = ICNT + 1 LET NVAL(ICNT) = 6 LET PERM(ICNT) = A DELETE M . READ MATRIX M 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 END OF DATA LET A = MATRIX PERMANENT M LET ICNT = ICNT + 1 LET NVAL(ICNT) = 7 LET PERM(ICNT) = A DELETE M . READ MATRIX M 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 END OF DATA LET A = MATRIX PERMANENT M LET ICNT = ICNT + 1 LET NVAL(ICNT) = 8 LET PERM(ICNT) = A DELETE M . READ MATRIX M 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 END OF DATA LET A = MATRIX PERMANENT M LET ICNT = ICNT + 1 LET NVAL(ICNT) = 9 LET PERM(ICNT) = A DELETE M . READ MATRIX M 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 END OF DATA LET A = MATRIX PERMANENT M LET ICNT = ICNT + 1 LET NVAL(ICNT) = 10 LET PERM(ICNT) = A DELETE M . PRINT NVAL PERMThe following output is generated. VARIABLESNVAL PERM 2 1 3 2 4 9 5 44 6 265 7 1854 8 14833 9 133496 10 1334961
Date created: 1/21/2009 