Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download

Companion to "Pfaffian Point Processes for Two Classes of Random Plane Partitions"

27669 views

Demonstration of tsscpp_probabilities.sage

The following worksheet demonstrates some of the main features oftsscpp_probabilities.sage, which contains the following functions for computing probabilities associated with the TSSCPP point process:

  • rho(S, K, data_type) computes ρn(S)\rho_n(S), where K is either the matrix of interpolated entries of KnK_n (in which case one sets data_type = 's', symbolic) or the limiting kernel KK_\infty (data_type = 'n', numeric)

  • rho_generalized(S, T, K, data_type) computes ρn(S;T)\rho_n(S;T)

  • first_k_vert(k, K, data_type) computes P(Vk(n))\mathbb P(V_k^{(n)}) or its limit P(Vk())\mathbb P(V_k^{(\infty)}), depending on whether K is gives the interpolated matrix or KK_\infty

  • first_k_hor(k, K, data_type) computes P(Hk(n))\mathbb P(H_k^{(n)}) or its limit P(Hk())\mathbb P(H_k^{(\infty)})

  • prob_dist_path_k(k, K, data_type) computes the probability distribution of the endpoint xx of path kk; i.e., (P(πk(Xn)=x))kx2k(\mathbb P(\pi_k(\mathscr X_n) = x))_{k \leq x \leq 2k} or its limit as nn \to \infty

1. Loading the Interpolated KnK_n Matrix and its Limit KK_\infty

We first load the matrices K_interpolated and K_infinity computed in the worksheet demo_tsscpp_interpolation.sagews.

N = 100 dim = 2*floor((2*N - 9) / 5) print('Now loading K_interpolated and K_infinity:') load('tsscpp_data/tsscpp_K/K_interpolated_{0}_by_{0}.sage'.format(dim)) load('tsscpp_data/tsscpp_K/K_infinity_{0}_by_{0}.sage'.format(dim)) print('Done')
Now loading K_interpolated and K_infinity: Done

2. Computing Horizontal and Vertical Probabilities P(Vk(n))\mathbb P(V_k^{(n)}) and P(Hk(n))\mathbb P(H_k^{(n)})

Below, we demonstrate first_k_vert and first_k_hor for both the interpolated KnK_n matrix and for KK_\infty.

load('tsscpp_probabilities.sage') for k in [1 .. 5]: prob = first_k_vert(k, K_interpolated, 's') print('Probability that the first {0} paths are vertical:'.format(k)) show(prob) print('\nLimits of the above probabilities as n goes to infinity:') for k in [1 .. 5]: prob = first_k_vert(k, K_infinity, 'n') print('k={0}: {1}'.format(k, prob))
Probability that the first 1 paths are vertical:
5(n21)2(4n21)\displaystyle \frac{5 \, {\left(n^{2} - 1\right)}}{2 \, {\left(4 \, n^{2} - 1\right)}}
Probability that the first 2 paths are vertical:
n244n21\displaystyle \frac{n^{2} - 4}{4 \, n^{2} - 1}
Probability that the first 3 paths are vertical:
33(n614n4+49n236)8(4n21)2(4n29)\displaystyle \frac{33 \, {\left(n^{6} - 14 \, n^{4} + 49 \, n^{2} - 36\right)}}{8 \, {\left(4 \, n^{2} - 1\right)}^{2} {\left(4 \, n^{2} - 9\right)}}
Probability that the first 4 paths are vertical:
11(n629n4+244n2576)16(16n440n2+9)(4n21)\displaystyle \frac{11 \, {\left(n^{6} - 29 \, n^{4} + 244 \, n^{2} - 576\right)}}{16 \, {\left(16 \, n^{4} - 40 \, n^{2} + 9\right)} {\left(4 \, n^{2} - 1\right)}}
Probability that the first 5 paths are vertical:
2431(n1264n10+1518n816852n6+89881n4204084n2+129600)512(256n82304n6+4704n41936n2+225)(4n21)(4n29)\displaystyle \frac{2431 \, {\left(n^{12} - 64 \, n^{10} + 1518 \, n^{8} - 16852 \, n^{6} + 89881 \, n^{4} - 204084 \, n^{2} + 129600\right)}}{512 \, {\left(256 \, n^{8} - 2304 \, n^{6} + 4704 \, n^{4} - 1936 \, n^{2} + 225\right)} {\left(4 \, n^{2} - 1\right)} {\left(4 \, n^{2} - 9\right)}}
Limits of the above probabilities as n goes to infinity: k=1: 5/8 k=2: 1/4 k=3: 33/512 k=4: 11/1024 k=5: 2431/2097152
for k in [1 .. 4]: prob = first_k_hor(k, K_interpolated, 's') print('Probability that the first {0} paths are horizontal:'.format(k)) show(prob) print('\nLimits of the above probabilities as n goes to infinity:') for k in [1 .. 4]: prob = first_k_hor(k, K_infinity, 'n') print('k={0}: {1}'.format(k, prob))
Probability that the first 1 paths are horizontal:
3(n2+1)2(4n21)\displaystyle \frac{3 \, {\left(n^{2} + 1\right)}}{2 \, {\left(4 \, n^{2} - 1\right)}}
Probability that the first 2 paths are horizontal:
59n6+299n4+866n2+57616(64n6176n4+76n29)\displaystyle \frac{59 \, n^{6} + 299 \, n^{4} + 866 \, n^{2} + 576}{16 \, {\left(64 \, n^{6} - 176 \, n^{4} + 76 \, n^{2} - 9\right)}}
Probability that the first 3 paths are horizontal:
3(2579n12+39364n10+374412n8+2174092n6+6601109n4+11674044n2+6350400)512(64n6176n4+76n29)(16n4136n2+225)(4n21)\displaystyle \frac{3 \, {\left(2579 \, n^{12} + 39364 \, n^{10} + 374412 \, n^{8} + 2174092 \, n^{6} + 6601109 \, n^{4} + 11674044 \, n^{2} + 6350400\right)}}{512 \, {\left(64 \, n^{6} - 176 \, n^{4} + 76 \, n^{2} - 9\right)} {\left(16 \, n^{4} - 136 \, n^{2} + 225\right)} {\left(4 \, n^{2} - 1\right)}}
Probability that the first 4 paths are horizontal:
45(151181n20+5389132n18+117984048n16+1797839324n14+19407568705n12+147255615696n10+810109953722n8+3037474082608n6+7089046189344n4+9780996810240n2+4682022912000)65536(256n86912n6+63456n4233200n2+275625)(64n6176n4+76n29)2\displaystyle \frac{45 \, {\left(151181 \, n^{20} + 5389132 \, n^{18} + 117984048 \, n^{16} + 1797839324 \, n^{14} + 19407568705 \, n^{12} + 147255615696 \, n^{10} + 810109953722 \, n^{8} + 3037474082608 \, n^{6} + 7089046189344 \, n^{4} + 9780996810240 \, n^{2} + 4682022912000\right)}}{65536 \, {\left(256 \, n^{8} - 6912 \, n^{6} + 63456 \, n^{4} - 233200 \, n^{2} + 275625\right)} {\left(64 \, n^{6} - 176 \, n^{4} + 76 \, n^{2} - 9\right)}^{2}}
Limits of the above probabilities as n goes to infinity: k=1: 3/8 k=2: 59/1024 k=3: 7737/2097152 k=4: 6803145/68719476736

4. Computing the Limiting Distribution of Path kk

Below, we use prob_dist_path_k to compute the distribution of the endpoint of path kk (which has support on kx2kk \leq x \leq 2k) in the limiting TSSCPP point process given by kernel KK_\infty. One may compute individual path probabilities P(πk(Xn)=x)\mathbb P(\pi_k(\mathscr X_n) = x) using the function prob_path_k_hits_x(k, x, K, data_type).

from sage.plot.bar_chart import BarChart for k in [1 .. 8]: dist = prob_dist_path_k(k, K_infinity, 'n') print('Distribution for the endpoint of path k={0}:\n{1}'.format(k, dist)) plot = bar_chart(dist, color='slategrey', axes=False, width=0.5) plot.show(ymin=0, axes=False, figsize=[4,3])
Distribution for the endpoint of path k=1: [5/8, 3/8]
Distribution for the endpoint of path k=2: [1/4, 325/512, 59/512]
Distribution for the endpoint of path k=3: [33/512, 545/1024, 791665/2097152, 54159/2097152]
Distribution for the endpoint of path k=4: [11/1024, 35679/131072, 589403/1048576, 5181180291/34359738368, 142866045/34359738368]
Distribution for the endpoint of path k=5: [2431/2097152, 188881/2097152, 16939639467/34359738368, 25652736981/68719476736, 1512910002731985/36028797018963968, 17250322859055/36028797018963968]
Distribution for the endpoint of path k=6: [85/1048576, 674088573/34359738368, 19122742785/68719476736, 2366395891945965/4503599627370496, 1515761510156805/9007199254740992, 624086381545377842663/75557863725914323419136, 2973802586179287577/75557863725914323419136]
Distribution for the endpoint of path k=7: [126293/34359738368, 194001963/68719476736, 1885647099121635/18014398509481984, 8461089993529877/18014398509481984, 27847669196528437539075/75557863725914323419136, 1002981740399396437407/18889465931478580854784, 11696714564822243668097989109/10141204801825835211973625643008, 23399944624587413326693899/10141204801825835211973625643008]
Distribution for the endpoint of path k=8: [7429/68719476736, 1207343934995/4503599627370496, 29899438259811/1125899906842624, 10592810737354813451289/37778931862957161709568, 37935826865957722542213/75557863725914323419136, 56637620518355032803977444751/316912650057057350374175801344, 60230842225375535507557060843/5070602400912917605986812821504, 1247494052952693497593902443281976891/10889035741470030830827987437816582766592, 1049985344725805761378702198632901/10889035741470030830827987437816582766592]

5. Computing (Symbolically) the Distributions of the First Few Paths

Now we use prob_dist_path_k to compute the distribution of the endpoint of path kk in the order-nn TSSCPP point process, using the interpolated kernel K_interpolated.

for k in [1 .. 3]: dist = prob_dist_path_k(k, K_interpolated, 's') print('Distribution for the endpoint of path k={0}:'.format(k)) show(dist)
Distribution for the endpoint of path k=1:
[5(n21)2(4n21)\displaystyle \frac{5 \, {\left(n^{2} - 1\right)}}{2 \, {\left(4 \, n^{2} - 1\right)}}, 3(n2+1)2(4n21)\displaystyle \frac{3 \, {\left(n^{2} + 1\right)}}{2 \, {\left(4 \, n^{2} - 1\right)}}]
Distribution for the endpoint of path k=2:
[n244n21\displaystyle \frac{n^{2} - 4}{4 \, n^{2} - 1}, 5(65n6175n4322n272)8(16n440n2+9)(4n21)\displaystyle \frac{5 \, {\left(65 \, n^{6} - 175 \, n^{4} - 322 \, n^{2} - 72\right)}}{8 \, {\left(16 \, n^{4} - 40 \, n^{2} + 9\right)} {\left(4 \, n^{2} - 1\right)}}, 59n6+299n4+866n2+5768(16n440n2+9)(4n21)\displaystyle \frac{59 \, n^{6} + 299 \, n^{4} + 866 \, n^{2} + 576}{8 \, {\left(16 \, n^{4} - 40 \, n^{2} + 9\right)} {\left(4 \, n^{2} - 1\right)}}]
Distribution for the endpoint of path k=3:
[33(n614n4+49n236)8(16n440n2+9)(4n21)\displaystyle \frac{33 \, {\left(n^{6} - 14 \, n^{4} + 49 \, n^{2} - 36\right)}}{8 \, {\left(16 \, n^{4} - 40 \, n^{2} + 9\right)} {\left(4 \, n^{2} - 1\right)}}, 5(109n6797n41616n2360)16(16n440n2+9)(4n21)\displaystyle \frac{5 \, {\left(109 \, n^{6} - 797 \, n^{4} - 1616 \, n^{2} - 360\right)}}{16 \, {\left(16 \, n^{4} - 40 \, n^{2} + 9\right)} {\left(4 \, n^{2} - 1\right)}}, 35(22619n12112604n10550356n82274740n6713683n44432356n24639680)512(256n82304n6+4704n41936n2+225)(16n440n2+9)\displaystyle \frac{35 \, {\left(22619 \, n^{12} - 112604 \, n^{10} - 550356 \, n^{8} - 2274740 \, n^{6} - 713683 \, n^{4} - 4432356 \, n^{2} - 4639680\right)}}{512 \, {\left(256 \, n^{8} - 2304 \, n^{6} + 4704 \, n^{4} - 1936 \, n^{2} + 225\right)} {\left(16 \, n^{4} - 40 \, n^{2} + 9\right)}}, 21(2579n12+39364n10+374412n8+2174092n6+6601109n4+11674044n2+6350400)512(16n440n2+9)2(16n4104n2+25)\displaystyle \frac{21 \, {\left(2579 \, n^{12} + 39364 \, n^{10} + 374412 \, n^{8} + 2174092 \, n^{6} + 6601109 \, n^{4} + 11674044 \, n^{2} + 6350400\right)}}{512 \, {\left(16 \, n^{4} - 40 \, n^{2} + 9\right)}^{2} {\left(16 \, n^{4} - 104 \, n^{2} + 25\right)}}]