Rich writes:
 
<<
Here's a theoretical way to compute the permanent of an nxn matrix M:
 
Choose a random vector Z of n elements. Each entry is an independent randomly
chosen complex number on the unit circle, |Z_k|=1. Compute V = ZM, giving another
vector of complex numbers. (The typical entry is unlikely to be on the unit
circle.) Multiply together all the complex numbers in V, and divide by the
product of the complex numbers in Z. In rough symbols, compute
 
product(elements of V)
------------------------------     = result P, another complex number.
product(elements of Z)
 
Then the expected value of P is the permanent of M.
(I'm assuming the entries of Z are chosen uniformly.)
>>
 
This method is using random sampling to calculate the
expected value of P, but this expected value could also be
calculated directly, using integration over T^n (where T^n
is the nth cartesian power of the unit circle in the complex plane). 
 
So the expectation should be
 
  (1/2pi)^n * integral over Z in T^n of (prod(ZM)/prod(Z)) dVol.
 
Since T^n can be opened up to become [0,2pi]^n, and
prod(exp(i ang_1),...,exp(i ang_n)) = exp(i (ang_1+...+ang_n)),
this integration might not be so hard to perform directly without
approximation.
 
--Dan