{ "script": "part2_fredholm", "passed": 29, "failed": 0, "seconds": 163.4, "checks": [ { "label": "rem:fredholm-num", "desc": "S_1 = 2 arctan(rho)/rho, S_-k = -S_k, the three-term relation for S_k (k<=21), and the series S_k = sum c_a c_b x^(a+b) 2k/(k^2-4(a-b)^2) used below, at rho in {0.3,0.77,0.95}", "status": "PASS", "method": "high-precision random points", "detail": "max error 2.18e-37" }, { "label": "eq:Lkernel", "desc": "sum_{m even} m x^m = 2x^2/(1-x^2)^2, sum (m+1)x^m = (1+x^2)/(1-x^2)^2, sum|A_mn|r^(m+n) = 2r/(1-r^2)^2, eq:traces sum_k e^{-(2k+1)s} = 1/(2 sinh s)", "status": "PASS", "method": "symbolic", "detail": "" }, { "label": "lem:even-bergman / thm:lower", "desc": "int_0^{pi/2} (1-sin v)^2/cos^2 v dv = 2-pi/2 (symbolic); int_0^oo -log(1-e^-u) du = pi^2/6 (40-digit quadrature)", "status": "PASS", "method": "symbolic", "detail": "" }, { "label": "lem:even-bergman", "desc": "strip substitution w = tanh(zeta/2): |dw/dzeta|, |1-w^2|, 1-|w|^2, tau = sin v, |w|^2 >= tanh^2(u/2)", "status": "PASS", "method": "numerical (floating point)", "detail": "max error 5.55e-16" }, { "label": "lem:log-ineq", "desc": "log|1-l| <= -Re sum_{j= prod_k (1-t^(-2k-1/2)) at r=1/2", "status": "PASS", "method": "interval arithmetic (Arb)", "detail": "[0.92924999 +/- 3.92e-9] > [0.48336601 +/- 9.19e-10]" }, { "label": "prop:fredholm", "desc": "r=7/10 (t=2.040816): P(T*<=t) = det(I-X(r))", "status": "INFO", "method": "interval arithmetic (Arb)", "detail": "[0.72580526407046, 0.72580526407052] [M=110, N=140, truncation tail [5.52e-15 +/- 7.90e-19], ||(I-X_M)^-1||<=[7.539 +/- 6.28e-5]]" }, { "label": "prop:fredholm", "desc": "tr X(r) = varkappa(r) at r=7/10", "status": "PASS", "method": "interval arithmetic (Arb)", "detail": "tr X = [0.291882936760564 +/- 4.10e-16], varkappa = [0.291882936760564 +/- 4.10e-16]" }, { "label": "thm:lower", "desc": "P(T*<=t) >= prod_k (1-t^(-2k-1/2)) at r=7/10", "status": "PASS", "method": "interval arithmetic (Arb)", "detail": "[0.72580526 +/- 4.08e-9] > [0.23646134 +/- 4.24e-9]" }, { "label": "prop:fredholm", "desc": "r=4/5 (t=1.562500): P(T*<=t) = det(I-X(r))", "status": "INFO", "method": "interval arithmetic (Arb)", "detail": "[0.48224473718654, 0.48224473718774] [M=170, N=210, truncation tail [1.33e-13 +/- 4.96e-16], ||(I-X_M)^-1||<=[9.391 +/- 3.76e-4]]" }, { "label": "prop:fredholm", "desc": "tr X(r) = varkappa(r) at r=4/5", "status": "PASS", "method": "interval arithmetic (Arb)", "detail": "tr X = [0.628728093370788 +/- 1.95e-16], varkappa = [0.628728093370788 +/- 1.95e-16]" }, { "label": "thm:lower", "desc": "P(T*<=t) >= prod_k (1-t^(-2k-1/2)) at r=4/5", "status": "PASS", "method": "interval arithmetic (Arb)", "detail": "[0.48224474 +/- 2.82e-9] > [0.10586674 +/- 4.83e-10]" }, { "label": "prop:fredholm", "desc": "r=9/10 (t=1.234568): P(T*<=t) = det(I-X(r))", "status": "INFO", "method": "interval arithmetic (Arb)", "detail": "[0.10868062123685, 0.10868062123699] [M=400, N=430, truncation tail [4.44e-14 +/- 4.31e-17], ||(I-X_M)^-1||<=[14.48 +/- 4.51e-3]]" }, { "label": "prop:fredholm", "desc": "tr X(r) = varkappa(r) at r=9/10", "status": "PASS", "method": "interval arithmetic (Arb)", "detail": "tr X = [1.75350823380479 +/- 2.44e-16], varkappa = [1.75350823380479 +/- 2.44e-16]" }, { "label": "thm:lower", "desc": "P(T*<=t) >= prod_k (1-t^(-2k-1/2)) at r=9/10", "status": "PASS", "method": "interval arithmetic (Arb)", "detail": "[0.10868062 +/- 1.24e-9] > [0.011214795 +/- 3.42e-10]" }, { "label": "rem:fredholm-num", "desc": "P(T* <= 100/81) = 0.10868062 (r=0.9)", "status": "PASS", "method": "interval arithmetic (Arb)", "detail": "certified enclosure [0.108680621237, 0.108680621237]" }, { "label": "rem:lower(b)", "desc": "the bound of thm:lower at t=100/81 is 0.0112", "status": "PASS", "method": "interval arithmetic (Arb)", "detail": "prod = [0.0112148 +/- 4.67e-9]" }, { "label": "rem:fredholm-num", "desc": "Bornemann/Nystrom, half disk, r=0.5: (n_rho, n_theta, det, |Im det|, det - certified value)", "status": "INFO", "method": "numerical (floating point)", "detail": "(8,16): 0.929249993921, 1.6e-18, +1.7e-12; (12,24): 0.929249993920, 1.2e-20, +7.0e-15; (16,32): 0.929249993920, 4.0e-18, +1.2e-14; (24,48): 0.929249993920, 1.3e-18, +1.3e-13" }, { "label": "rem:fredholm-num", "desc": "Bornemann quadrature reproduces the certified value at r=0.5", "status": "PASS", "method": "numerical (floating point)", "detail": "difference 1.34e-13 with 24x48 nodes" }, { "label": "rem:fredholm-num", "desc": "Bornemann/Nystrom, half disk, r=0.9: (n_rho, n_theta, det, |Im det|, det - certified value)", "status": "INFO", "method": "numerical (floating point)", "detail": "(16,32): 0.108678189923, 4.1e-18, -2.4e-06; (24,48): 0.108680600581, 2.7e-18, -2.1e-08; (32,64): 0.108680621040, 5.8e-18, -2.0e-10; (40,80): 0.108680621235, 1.0e-19, -1.9e-12; (48,96): 0.108680621237, 3.4e-19, +1.4e-13" }, { "label": "rem:fredholm-num", "desc": "Bornemann quadrature reproduces the certified value at r=0.9", "status": "PASS", "method": "numerical (floating point)", "detail": "difference 1.39e-13 with 48x96 nodes" }, { "label": "rem:fredholm-num", "desc": "double precision, r=0.9: -log P(T*<=t) for M=140,174; componentwise condition number of det; tr X - varkappa", "status": "INFO", "method": "numerical (floating point)", "detail": "2.219341778, 2.219341778; kappa=3.0; trace error 0.0e+00" }, { "label": "rem:fredholm-num", "desc": "double-precision matrix method agrees with the certified value at r=0.9", "status": "PASS", "method": "numerical (floating point)", "detail": "-log P: 2.219341778238 vs certified 2.219341778238" }, { "label": "rem:fredholm-num", "desc": "double precision, r=0.95: -log P(T*<=t) for M=280,350; componentwise condition number of det; tr X - varkappa", "status": "INFO", "method": "numerical (floating point)", "detail": "5.624299494, 5.624299494; kappa=8.6; trace error -8.9e-16" }, { "label": "rem:fredholm-num", "desc": "double precision, r=0.99: -log P(T*<=t) for M=1400,1750; componentwise condition number of det; tr X - varkappa", "status": "INFO", "method": "numerical (floating point)", "detail": "36.180954832, 36.180954832; kappa=75.0; trace error -5.7e-14" }, { "label": "rem:fredholm-num", "desc": "-log P(T* <= 10000/9801) = 36.180955 (r=0.99)", "status": "PASS", "method": "numerical (floating point)", "detail": "36.18095483 (M=1400), 36.18095483 (M=1750); det condition number 75, so an entrywise relative error e changes -log P by at most ~75 e" }, { "label": "rem:lower(b)", "desc": "at r=0.99: log P = -36.181, log det(I-S) = -36.269, sum log(1-r^(4k+1)) = -42.090", "status": "PASS", "method": "numerical (floating point)", "detail": "-36.1810, -36.2695, -42.0901" }, { "label": "q:bernoulli", "desc": "eigenvalues of X(0.99) (M=1750): max |Im|, min/max Re of those with |l|>1e-12", "status": "INFO", "method": "numerical (floating point)", "detail": "0.00e+00, 1.022e-12, 0.933107" }, { "label": "thm:sharp", "desc": "(t-1)(-log P(T*<=t)) at r=0.99, against pi^2/12 = 0.822467", "status": "INFO", "method": "numerical (floating point)", "detail": "0.734620" }, { "label": "lem:qform", "desc": "c^T X(r) c = (r/pi) int |f(re^it)|^2 sigma_r - (1/pi) int_{-r}^r f^2, r=0.9, 20 random c (m<=20); 0 <= sigma_r <= 1", "status": "PASS", "method": "numerical (floating point)", "detail": "max rel. difference 2.0e-13" }, { "label": "thm:lower", "desc": "S_n <= R_n (Step 1) for the compression of X(0.9) to m<=400", "status": "PASS", "method": "numerical (floating point)", "detail": "min eigenvalue of R_n - S_n = 6.53e-41" }, { "label": "lem:even-bergman", "desc": "||L - K||_2 <= 1 + log(1/(1-r)) at r=0.5", "status": "PASS", "method": "numerical (floating point)", "detail": "||L-K||_2 = 0.213421 (coarser grid 0.213421), bound 1.6931" }, { "label": "lem:even-bergman", "desc": "||L - K||_2 <= 1 + log(1/(1-r)) at r=0.8", "status": "PASS", "method": "numerical (floating point)", "detail": "||L-K||_2 = 0.589945 (coarser grid 0.589945), bound 2.6094" }, { "label": "lem:even-bergman", "desc": "||L - K||_2 <= 1 + log(1/(1-r)) at r=0.9", "status": "PASS", "method": "numerical (floating point)", "detail": "||L-K||_2 = 0.846034 (coarser grid 0.846034), bound 3.3026" }, { "label": "rem:explicit", "desc": "(t-1)(varkappa(r) - ||L||_2^2/2) = 0.2796 at r=0.8, and P(T*<=t) <= exp(-varkappa + ||L||_2^2/2)", "status": "PASS", "method": "numerical (floating point)", "detail": "value 0.27961; exp bound 0.608299 vs P = 0.482245" }, { "label": "prop:fredholm", "desc": "Monte Carlo (20000 samples of q, degree 45) at r=0.5: P(k_r=0) and E k_r against det(I-X) and varkappa (within 4 standard errors)", "status": "PASS", "method": "Monte Carlo", "detail": "P0: MC 0.9284 +- 0.0018 vs 0.9292; E k: MC 0.0718 +- 0.0018 vs 0.0711; P(k=j), j<5: MC [np.float64(0.9284), np.float64(0.0714), np.float64(0.0002), np.float64(0.0), np.float64(0.0)] vs det [0.9292, 0.0704, 0.0004, 0.0, 0.0]" }, { "label": "prop:fredholm", "desc": "Monte Carlo (12000 samples of q, degree 80) at r=0.7: P(k_r=0) and E k_r against det(I-X) and varkappa (within 4 standard errors)", "status": "PASS", "method": "Monte Carlo", "detail": "P0: MC 0.7264 +- 0.0041 vs 0.7258; E k: MC 0.2903 +- 0.0045 vs 0.2919; P(k=j), j<5: MC [np.float64(0.7264), np.float64(0.257), np.float64(0.0164), np.float64(0.0002), np.float64(0.0)] vs det [0.7258, 0.2568, 0.0171, 0.0003, 0.0]" }, { "label": "prop:fredholm", "desc": "Monte Carlo (6000 samples of q, degree 230) at r=0.9: P(k_r=0) and E k_r against det(I-X) and varkappa (within 4 standard errors)", "status": "PASS", "method": "Monte Carlo", "detail": "P0: MC 0.1152 +- 0.0041 vs 0.1087; E k: MC 1.7502 +- 0.0140 vs 1.7535; P(k=j), j<5: MC [np.float64(0.1152), np.float64(0.317), np.float64(0.337), np.float64(0.1747), np.float64(0.0468)] vs det [0.1087, 0.3226, 0.3404, 0.1724, 0.0475]" } ], "data": { "rigorous r=1/2": { "det": "[0.92924999391969, 0.92924999391969]", "M": 60, "N": 80, "tail": "[3.31e-17 +/- 3.32e-20]", "invnorm": "[5.5825 +/- 2.69e-5]", "trace": "[0.071123119801025567960 +/- 2.67e-22]" }, "rigorous r=7/10": { "det": "[0.72580526407046, 0.72580526407052]", "M": 110, "N": 140, "tail": "[5.52e-15 +/- 7.90e-19]", "invnorm": "[7.5391 +/- 3.74e-5]", "trace": "[0.29188293676056440963 +/- 1.63e-21]" }, "rigorous r=4/5": { "det": "[0.48224473718654, 0.48224473718774]", "M": 170, "N": 210, "tail": "[1.33e-13 +/- 4.96e-16]", "invnorm": "[9.3906 +/- 2.46e-5]", "trace": "[0.62872809337078819408 +/- 7.80e-22]" }, "rigorous r=9/10": { "det": "[0.10868062123685, 0.10868062123699]", "M": 400, "N": 430, "tail": "[4.44e-14 +/- 4.31e-17]", "invnorm": "[14.485 +/- 4.96e-4]", "trace": "[1.7535082338047902432 +/- 2.63e-20]" }, "nystrom r=0.5": [ [ 8, 16, 0.929249993921434, 1.647974979681747e-18, 1.7486012637846216e-12 ], [ 12, 24, 0.9292499939196924, 1.2072380245943163e-20, 6.994405055138486e-15 ], [ 16, 32, 0.929249993919697, 3.987862611212025e-18, 1.1546319456101628e-14 ], [ 24, 48, 0.9292499939198193, 1.3266682577067529e-18, 1.3389289676979388e-13 ] ], "nystrom r=0.9": [ [ 16, 32, 0.10867818992278827, 4.1211638429758655e-18, -2.4313141346460343e-06 ], [ 24, 48, 0.10868060058105174, 2.6916153639966607e-18, -2.0655871180164098e-08 ], [ 32, 64, 0.10868062103984096, 5.767365199264503e-18, -1.9708196186130067e-10 ], [ 40, 80, 0.10868062123498046, 1.0212966464477305e-19, -1.9424600816719817e-12 ], [ 48, 96, 0.10868062123706156, 3.4390943360753753e-19, 1.3863910020006642e-13 ] ], "float r=0.9": { "M": [ 140, 174 ], "minus_log_P": [ 2.2193417782372604, 2.2193417782375082 ], "kappa_det": [ 2.9689058637525254, 2.9689058637527723 ], "trace": [ 1.7535082338045431, 1.7535082338047907 ], "varkappa": 1.7535082338047907 }, "float r=0.95": { "M": [ 280, 350 ], "minus_log_P": [ 5.624299494242883, 5.624299494244237 ], "kappa_det": [ 8.582818727153755, 8.582818727155106 ], "trace": [ 4.135906490073062, 4.135906490074413 ], "varkappa": 4.135906490074414 }, "float r=0.99": { "M": [ 1400, 1750 ], "minus_log_P": [ 36.18095483234519, 36.180954832359525 ], "kappa_det": [ 74.97709122879593, 74.97709122881032 ], "trace": [ 23.87401489015514, 23.874014890169526 ], "varkappa": 23.874014890169583 }, "mc r=0.5": { "n": 20000, "P0": 0.92835, "Ek": 0.07185, "hist": [ 0.92835, 0.07145, 0.0002, 0.0, 0.0 ], "det_pk": [ 0.9292499939196852, 0.07037703288994246, 0.0003728326636057786, 1.4052319404489246e-07, 3.5723617902968432e-12 ] }, "mc r=0.7": { "n": 12000, "P0": 0.7264166666666667, "Ek": 0.29033333333333333, "hist": [ 0.7264166666666667, 0.257, 0.016416666666666666, 0.00016666666666666666, 0.0 ], "det_pk": [ 0.7258052640704866, 0.2567787799295494, 0.017144768353138676, 0.00027013148940830534, 1.0551308182482468e-06 ] }, "mc r=0.9": { "n": 6000, "P0": 0.11516666666666667, "Ek": 1.7501666666666666, "hist": [ 0.11516666666666667, 0.317, 0.337, 0.17466666666666666, 0.04683333333333333 ], "det_pk": [ 0.10868062123692282, 0.32258307484951637, 0.34039732749837365, 0.17244950260807093, 0.04749786399125507 ] } } }