01.03.2013 Views

Statistical properties of determinantal point processes in high ...

Statistical properties of determinantal point processes in high ...

Statistical properties of determinantal point processes in high ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

SCARDICCHIO, ZACHARY, AND TORQUATO PHYSICAL REVIEW E 79, 041108 2009<br />

Other ensembles <strong>of</strong> two-dimensional <strong>determ<strong>in</strong>antal</strong> <strong>po<strong>in</strong>t</strong><br />

<strong>processes</strong> can be found <strong>in</strong> simple systems. For example, the<br />

n zeros <strong>of</strong> an analytic Gaussian random function fz<br />

n<br />

=k=0akzk also form a <strong>determ<strong>in</strong>antal</strong> <strong>po<strong>in</strong>t</strong> process on the<br />

open unit disk 28,29. The limit<strong>in</strong>g kernel govern<strong>in</strong>g these<br />

zeros is called the Bargmann kernel:<br />

Hz1,z 2 = 1 1<br />

1−z1z22 63<br />

and is <strong>in</strong>herently different from 59.<br />

IV. AN ALGORITHM FOR GENERATING<br />

DETERMINANTAL POINT PROCESSES<br />

We are able to write down an algorithm, which we call the<br />

Hough-Krishnapur-Peres-Virag HKPV algorithm, after 7,<br />

to generate <strong>determ<strong>in</strong>antal</strong> <strong>po<strong>in</strong>t</strong> <strong>processes</strong> due to the geometric<br />

<strong>in</strong>terpretation <strong>of</strong> the determ<strong>in</strong>ant <strong>in</strong> N as the volume <strong>of</strong><br />

the simplex built with the N vectors v j= j<br />

0 1jN. Inthe<br />

orig<strong>in</strong>al paper 7 this algorithm is sketched and then proved<br />

to produce the correct distribution function p N. The algorithm<br />

is extremely powerful and versatile, and we believe it<br />

is important to provide as many details as possible about it<br />

and its implementation which has not been done before, to<br />

our knowledge. Therefore, we dedicate the present section<br />

to provide a complete description <strong>of</strong> the HKPV algorithm<br />

and enough details with some tricks for its efficient implementation.<br />

Set H NH, the kernel <strong>of</strong> the <strong>determ<strong>in</strong>antal</strong> <strong>po<strong>in</strong>t</strong> process.<br />

Pick a <strong>po<strong>in</strong>t</strong> N distributed with probability<br />

pNx = HNx,x/N. 64<br />

With this <strong>po<strong>in</strong>t</strong> build the new operator AN−1, def<strong>in</strong>ed by<br />

A N−1 = H N N NH N. 65<br />

This operator has with probability 1 a s<strong>in</strong>gle nonzero eigen-<br />

value and N−1 null eigenvalues. When expressed as a matrix<br />

0<br />

<strong>in</strong> the basis n1nN, AN−1 takes the form<br />

0 0<br />

AN−1i,j = i N j N. 66<br />

Consider the N−1 null eigenvectors <strong>of</strong> AN−1; we will denote<br />

1 N−1 1<br />

them as i i=1 and call N<br />

the only eigenvector with a<br />

nonzero eigenvalue. The null eigenvectors can be found easily<br />

by means <strong>of</strong> a fast rout<strong>in</strong>e based on s<strong>in</strong>gular value decomposition<br />

SVD, but we will see one that can proceed<br />

without it.<br />

Next, build the new operator HN−1: N−1<br />

1 1<br />

HN−1 = HN nnHN. 67<br />

n=1<br />

To simplify the computation, notice that by completeness <strong>of</strong><br />

1 N<br />

the basis nn=1 <strong>in</strong> the eigenspace <strong>of</strong> HN: N−1<br />

H N n=1<br />

1 1 1 1<br />

nn + NNHN<br />

= HN, 68<br />

1<br />

and s<strong>in</strong>ce N is the only eigenvector orthogonal to the null<br />

space:<br />

041108-8<br />

1 1<br />

AN−1 =trAN−1NN. 69<br />

From this equation we conclude that<br />

N−1<br />

H N−1 H N n=1<br />

1 1 1<br />

nnHN = HNI −<br />

trAN−1 AN−1HN. 70<br />

Once H N−1 is obta<strong>in</strong>ed, we repeat the procedure with H N<br />

→H N−1, generat<strong>in</strong>g the <strong>po<strong>in</strong>t</strong> N−1 from the probability distribution<br />

p N−1x = H N−1x,x/N −1 71<br />

and the operators A N−2, H N−2. As the number <strong>of</strong> iterations<br />

<strong>in</strong>creases, we constantly reduce the rank <strong>of</strong> the operators by<br />

1: trH N=N, trH N−1=N−1, etc. Therefore, after we have<br />

placed the last <strong>po<strong>in</strong>t</strong> 1, we are left with an operator <strong>of</strong> rank<br />

0, and the algorithm stops. Reference 7 shows that the<br />

N-tuples 1,..., N are distributed accord<strong>in</strong>g to the distribution<br />

1.<br />

The whole procedure requires ON 2 steps for every realization,<br />

which is equal to the number <strong>of</strong> function evaluations<br />

necessary to create the matrices A. Therefore, the algorithm<br />

is computationally quite light. The only subrout<strong>in</strong>e that requires<br />

some work is the extraction <strong>of</strong> the random <strong>po<strong>in</strong>t</strong>s from<br />

the probability distributions p nx. For d=1 one can use a<br />

numerically implemented <strong>in</strong>verse cumulative distribution<br />

function technique 30, and the computational cost <strong>of</strong> this<br />

procedure is <strong>in</strong>dependent <strong>of</strong> N. For d2 if the distributions<br />

are not very peaked, a rejection algorithm is sufficient. The<br />

rejection algorithm works by sampl<strong>in</strong>g <strong>po<strong>in</strong>t</strong>s from a uniform<br />

distribution on the doma<strong>in</strong>. A tolerance value near the maximum<br />

<strong>of</strong> the probability density <strong>of</strong> the <strong>po<strong>in</strong>t</strong> process is set,<br />

and the <strong>po<strong>in</strong>t</strong> is accepted if a uniform random number chosen<br />

between 0 and the tolerance value is less than the probability<br />

density at that <strong>po<strong>in</strong>t</strong>. Otherwise, the <strong>po<strong>in</strong>t</strong> is rejected, and the<br />

process repeats. Unfortunately, it is difficult to estimate the<br />

computational cost <strong>of</strong> this algorithm as a function <strong>of</strong> the<br />

number <strong>of</strong> particles N.<br />

A. Numerical results <strong>in</strong> one dimension<br />

We have implemented the algorithm described above to<br />

study a <strong>determ<strong>in</strong>antal</strong> <strong>po<strong>in</strong>t</strong> process on the circle x<br />

0,2, where nx=exp<strong>in</strong>x/2 are the N orthonormal<br />

functions with n=0,1,2,...,N/2. This ensemble,<br />

as mentioned above, is equivalent to the one generated<br />

by the eigenvalues <strong>of</strong> unitary random matrices chosen<br />

accord<strong>in</strong>g to the Haar measure. Eigenvalues <strong>of</strong> matrices from<br />

the CUE can be generated easily by means <strong>of</strong> a fast SVD<br />

algorithm 21; however, plenty <strong>of</strong> exact results exist. Therefore,<br />

we study this one-dimensional <strong>determ<strong>in</strong>antal</strong> process as<br />

a test both for the performance <strong>of</strong> our implementation <strong>of</strong> the<br />

algorithm and for the convergence <strong>of</strong> the results to the N<br />

→ limit.<br />

We have implemented the algorithm <strong>in</strong> both PYTHON and<br />

C, notic<strong>in</strong>g little difference <strong>in</strong> the speed <strong>of</strong> execution, and<br />

run it on a regular desktop computer. As mentioned above,<br />

the algorithm runs polynomially <strong>in</strong> N with the sampl<strong>in</strong>g <strong>of</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!