Portable proof handoff intended for verified mirror base 1229ab9e61bee936cb1a29c0693ee56922d2d908.
513 lines
13 KiB
Mathematica
513 lines
13 KiB
Mathematica
(* ::Package:: *)
|
|
|
|
(*
|
|
Consolidated exact hypergeometric-closure certificate for Ramanujan
|
|
Challenge 2.8.
|
|
|
|
Index convention:
|
|
|
|
n = N+1 >= 1, u = 2 n + 1,
|
|
x = -z/(1-z),
|
|
R_N(x) = C(x) M(0,x)...M(N-1,x),
|
|
P_n(z) = (-z)^n R_N(-z/(1-z)).
|
|
|
|
Because x=-z/(1-z), this is exactly the qhat transform used in the proof:
|
|
|
|
P_n(z) = (1-z)^n x^n R_N(x), n=N+1.
|
|
|
|
The certificate proves that the first component is
|
|
|
|
P_n(z)[[1]] = a_n 4F3(
|
|
-n,-n-1/6,-n-1/2,-n-5/6;
|
|
1-2n,1-2n,1-2n; z),
|
|
|
|
where
|
|
|
|
a_1 = 18,
|
|
a_(n+1)/a_n =
|
|
576 n^2 (2n+1)^2 / ((6n+1)(6n+5)).
|
|
|
|
Everything below is an identity over QQ(n,z) or QQ(n,x). No numerical
|
|
sampling is used. In one stateless run it certifies:
|
|
|
|
* the nonterminating 4F3 kernel and M_N K_(N+1)=K_N;
|
|
* the terminating denominator formula and its normalization;
|
|
* the initial CM-error annihilation;
|
|
* the rank-one/Smith-valuation facts behind the error lattice; and
|
|
* the one-step lattice cancellation which gains one power of x;
|
|
* the exact characteristic quartic, spectral separation, and cyclic frame
|
|
needed to transfer the first-column limit to all four official columns.
|
|
|
|
The proof uses the exact differential gauge behind the authoritative matrix
|
|
and one coefficientwise rational contiguity identity.
|
|
*)
|
|
|
|
ClearAll["Global`*"];
|
|
|
|
check[label_, condition_] := If[
|
|
TrueQ[condition],
|
|
Print["PASS: " <> label],
|
|
Print["FAIL: " <> label]; Abort[]
|
|
];
|
|
|
|
|
|
(* The authoritative matrix, with x=1/R and
|
|
236337691420383=(14R-567)/9 already substituted. *)
|
|
mm[u_, x_] := Module[
|
|
{r = 1/x, w, a1, a2, a3, a4, b1, b2, b3, c1, c2, c3, c4},
|
|
|
|
w = u (3u-2) (3u+2);
|
|
|
|
a1 = r (144u^5-288u^4+144u^3)
|
|
+ (-99u^5+333u^4-229u^3-114u^2+40u+64);
|
|
a2 = r (432u^4-864u^3+432u^2)
|
|
+ (-243u^4+909u^3-868u^2-80u+272);
|
|
a3 = r (432u^3-864u^2+432u)
|
|
+ (-153u^3+648u^2-860u+360);
|
|
a4 = r 144 (u-1)^2;
|
|
|
|
b1 = r (-144u^3) + (9u^4+63u^3+158u^2+168u+64);
|
|
b2 = r (216u^2) + (36u^3-189u^2-316u-168);
|
|
b3 = r (108u) + (54u^2-189u-158);
|
|
|
|
c1 = r^2 (-288u^3)
|
|
+ r (54u^4+378u^3+948u^2+1008u+384)
|
|
+ (18u^5+45u^4-251u^3-1086u^2-1384u-576);
|
|
c2 = r^2 (-432u^2)
|
|
+ r (153u^4-657u^3+1292u^2+2064u+1072)
|
|
+ (-72u^4+702u^3-1069u^2-2508u-1512);
|
|
c3 = r^2 (-216u)
|
|
+ r (180u^3-891u^2+1450u+1116)
|
|
+ (-108u^3+864u^2-1385u-1422);
|
|
c4 = r^2 (-4)
|
|
+ r (6u^2-33u+58+14/9)
|
|
+ (-4u^2+32u-63);
|
|
|
|
{
|
|
{a1/w, a2/w, a3/w, a4/w},
|
|
{-u^3, -3u^2, -3u, -1},
|
|
{x b1/144, -x b2/72, -x b3/36, x (-2r-(2u-7))/2},
|
|
{x^2 c1/288, x^2 c2/144, x^2 c3/72, x^2 c4/4}
|
|
}
|
|
];
|
|
|
|
|
|
(* H_n is the nonterminating tail
|
|
|
|
4F3(n,n+1/6,n+1/2,n+5/6;2n,2n,2n;z).
|
|
|
|
Its Euler equation is lTail(theta) H_n=0. *)
|
|
lTail[n_, z_, t_] :=
|
|
Expand[
|
|
t (t+2n-1)^3
|
|
- z (t+n) (t+n+1/6) (t+n+1/2) (t+n+5/6)
|
|
];
|
|
|
|
companion[n_, z_] := Module[{t, cc},
|
|
cc = Table[Coefficient[lTail[n,z,t],t,j],{j,0,4}];
|
|
{
|
|
{0,1,0,0},
|
|
{0,0,1,0},
|
|
{0,0,0,1},
|
|
-Take[cc,4]/cc[[5]]
|
|
}
|
|
];
|
|
|
|
thetaMatrix[a_] := Map[z D[#,z]&,a,{2}];
|
|
|
|
|
|
(* In z-coordinates one recurrence step is G_n=(-z)M(2n+1).
|
|
This is an exact differential gauge from the n+1 tail system to the
|
|
n tail system. *)
|
|
gauge = Together[-z mm[2n+1,-z/(1-z)]];
|
|
gaugeResidual = Map[
|
|
Factor,
|
|
Together[
|
|
companion[n,z].gauge
|
|
- thetaMatrix[gauge]
|
|
- gauge.companion[n+1,z]
|
|
],
|
|
{2}
|
|
];
|
|
check[
|
|
"authoritative matrix is the exact tail differential gauge",
|
|
gaugeResidual === ConstantArray[0,{4,4}]
|
|
];
|
|
|
|
|
|
(* Initial horizontal row. *)
|
|
cRow[x_] := {18/x+159/4,54/x+131/2,54/x+27,18/x};
|
|
pBase = Together[-z cRow[-z/(1-z)]];
|
|
baseResidual = Map[
|
|
Factor,
|
|
Together[
|
|
Map[z D[#,z]&,pBase]
|
|
+ pBase.companion[1,z]
|
|
]
|
|
];
|
|
check[
|
|
"the compact denominator seed is a horizontal adjoint row",
|
|
baseResidual === ConstantArray[0,4]
|
|
];
|
|
check[
|
|
"base terminating polynomial",
|
|
Factor[pBase[[1]]-18 (1-77z/24)] === 0
|
|
];
|
|
|
|
|
|
(* Recover every horizontal-row component from its first component p.
|
|
Here t acts as theta=z d/dz on p. *)
|
|
tailCoefficients = Table[
|
|
Coefficient[lTail[n,z,t],t,j],
|
|
{j,0,4}
|
|
];
|
|
|
|
thetaOperator[poly_] := Together[
|
|
Sum[
|
|
z D[Coefficient[poly,t,j],z] t^j
|
|
+ Coefficient[poly,t,j] t^(j+1),
|
|
{j,0,Exponent[poly,t]}
|
|
]
|
|
];
|
|
|
|
pOp3 = Together[tailCoefficients[[5]]/tailCoefficients[[1]] t];
|
|
pOp2 = Together[
|
|
tailCoefficients[[4]]/tailCoefficients[[5]] pOp3
|
|
- thetaOperator[pOp3]
|
|
];
|
|
pOp1 = Together[
|
|
tailCoefficients[[3]]/tailCoefficients[[5]] pOp3
|
|
- thetaOperator[pOp2]
|
|
];
|
|
pOps = {1,pOp1,pOp2,pOp3};
|
|
|
|
(* The last horizontal equation is precisely the terminating 4F3 equation
|
|
|
|
theta(theta-2n)^3 p
|
|
- z(theta-n)(theta-n-1/6)(theta-n-1/2)(theta-n-5/6)p=0.
|
|
*)
|
|
adjointResidualOperator = Factor[
|
|
Together[
|
|
thetaOperator[pOp1] + 1
|
|
- tailCoefficients[[2]]/tailCoefficients[[5]] pOp3
|
|
]
|
|
];
|
|
terminatingOperator =
|
|
Expand[
|
|
t (t-2n)^3
|
|
- z (t-n) (t-n-1/6) (t-n-1/2) (t-n-5/6)
|
|
];
|
|
adjointFactor = -72/(n(2n+1)(6n+1)(6n+5)z);
|
|
check[
|
|
"horizontal elimination gives the terminating 4F3 operator",
|
|
Factor[
|
|
Together[
|
|
adjointResidualOperator-adjointFactor terminatingOperator
|
|
]
|
|
] === 0
|
|
];
|
|
|
|
|
|
(* The first component after one gauge step is D_n(theta) p. *)
|
|
stepOperator = Factor[Together[pOps.gauge[[All,1]]]];
|
|
check[
|
|
"the scalar step operator has only z-degrees zero and one",
|
|
Together[
|
|
stepOperator
|
|
- Coefficient[stepOperator,z,0]
|
|
- z Coefficient[stepOperator,z,1]
|
|
] === 0
|
|
];
|
|
|
|
d0[q_] := Together[Coefficient[stepOperator,z,0] /. t->q];
|
|
d1[q_] := Together[Coefficient[stepOperator,z,1] /. t->q];
|
|
|
|
|
|
(* Coefficients h_(n,k) of the normalized terminating 4F3.
|
|
|
|
Instead of expanding Pochhammer symbols, the proof needs only:
|
|
withinRatio = h_(n,k)/h_(n,k-1),
|
|
crossRatio = h_(n+1,k)/h_(n,k).
|
|
*)
|
|
withinRatio =
|
|
((k-1-n) (k-1-n-1/6) (k-1-n-1/2) (k-1-n-5/6)) /
|
|
((k-2n)^3 k);
|
|
|
|
crossRatio =
|
|
Product[
|
|
(n+1+a)/(n+1+a-k),
|
|
{a,{0,1/6,1/2,5/6}}
|
|
] * (((k-2n-1)(k-2n))/(2n(2n+1)))^3;
|
|
|
|
normalizationRatio =
|
|
576 n^2 (2n+1)^2 / ((6n+1)(6n+5));
|
|
|
|
(* k=0. *)
|
|
check[
|
|
"constant-term normalization recurrence",
|
|
Factor[Together[d0[0]-normalizationRatio]] === 0
|
|
];
|
|
|
|
(* Generic coefficient 1<=k<=n:
|
|
|
|
d0(k) h_(n,k) + d1(k-1) h_(n,k-1)
|
|
= normalizationRatio h_(n+1,k).
|
|
*)
|
|
genericCoefficientResidual = Factor[
|
|
Together[
|
|
d0[k]
|
|
+ d1[k-1]/withinRatio
|
|
- normalizationRatio crossRatio
|
|
]
|
|
];
|
|
check[
|
|
"generic all-n terminating contiguity coefficient",
|
|
genericCoefficientResidual === 0
|
|
];
|
|
|
|
(* The new top coefficient k=n+1 is a boundary case because h_(n,n+1)=0. *)
|
|
topCoefficientRatio =
|
|
-(n+7/6)(n+3/2)(n+11/6)/(8(2n+1)^3);
|
|
check[
|
|
"terminating top-coefficient boundary",
|
|
Factor[
|
|
Together[
|
|
d1[n]-normalizationRatio topCoefficientRatio
|
|
]
|
|
] === 0
|
|
];
|
|
|
|
|
|
(* ---------------------------------------------------------------------- *)
|
|
(* Nonterminating kernel contiguity. *)
|
|
(* ---------------------------------------------------------------------- *)
|
|
|
|
(* The analytic tail solution H_(n+1) has initial Euler jet e_1 at z=0.
|
|
The gauge sends that vector to normalizationRatio e_1. Uniqueness of the
|
|
exponent-zero Frobenius solution therefore gives
|
|
|
|
gauge J_(n+1) = normalizationRatio J_n.
|
|
|
|
Since gauge=(-z)M and K_n=kappa_n z^n J_n, the following reciprocal
|
|
normalization is exactly M_N K_(N+1)=K_N. *)
|
|
tailColumnAtOrigin = Map[
|
|
Factor,
|
|
Limit[gauge[[All,1]],z->0]
|
|
];
|
|
check[
|
|
"tail gauge selects the exponent-zero analytic solution",
|
|
tailColumnAtOrigin === {normalizationRatio,0,0,0}
|
|
];
|
|
|
|
kappaRatio =
|
|
-(6n+1)(6n+5)/(576 n^2 (2n+1)^2);
|
|
check[
|
|
"nonterminating kernel normalization and exact contiguity",
|
|
Factor[Together[-kappaRatio normalizationRatio-1]] === 0
|
|
];
|
|
|
|
|
|
(* ---------------------------------------------------------------------- *)
|
|
(* Exact initial annihilation of the CM error rows. *)
|
|
(* ---------------------------------------------------------------------- *)
|
|
|
|
binomialRows = {
|
|
{1,0,0,0},
|
|
{1,1,0,0},
|
|
{1,2,1,0},
|
|
{1,3,3,1}
|
|
};
|
|
|
|
(* K_0=((theta-1)^j(y-1))_(j=0)^3. *)
|
|
kFormal = Table[(t-1)^j y-(-1)^j,{j,0,3}];
|
|
fFormal = {y-1,t y,t^2 y,t^3 y};
|
|
check[
|
|
"binomial jet converts K_0 to the CM first jet",
|
|
Expand[binomialRows.kFormal-fFormal] === ConstantArray[0,4]
|
|
];
|
|
|
|
(* The 3F2 equation in x coordinates is
|
|
|
|
72 theta^3 y + 108 x theta^2 y + 46 x theta y + 5 x y = 0.
|
|
|
|
This makes C K_0=-5/4, hence
|
|
((5/4)binomialRows+fFormal C) K_0=0. *)
|
|
cOperator = Factor[
|
|
Sum[cRow[x][[j+1]] (t-1)^j,{j,0,3}]
|
|
];
|
|
cConstant = Factor[
|
|
-Sum[cRow[x][[j+1]] (-1)^j,{j,0,3}]
|
|
];
|
|
cmDifferentialOperator =
|
|
72t^3+108x t^2+46x t+5x;
|
|
check[
|
|
"compact denominator row reduces to the 3F2 operator",
|
|
Factor[cOperator/cmDifferentialOperator] === 1/(4x)
|
|
];
|
|
check[
|
|
"exact CM-error seed annihilation constant",
|
|
cConstant === -5/4
|
|
];
|
|
|
|
|
|
(* ---------------------------------------------------------------------- *)
|
|
(* Rank-one and regular-annihilator-lattice algebra. *)
|
|
(* ---------------------------------------------------------------------- *)
|
|
|
|
(* Multiplying the pole row by x makes the transfer analytic at x=0. *)
|
|
mHat = Map[
|
|
Cancel,
|
|
Together[
|
|
DiagonalMatrix[{x,1,1,1}].mm[2n+1,x]
|
|
],
|
|
{2}
|
|
];
|
|
mHat0 = Map[Factor[(#/.x->0)]&,mHat,{2}];
|
|
check[
|
|
"regularized transfer has rank one at x=0",
|
|
MatrixRank[mHat0] === 1
|
|
];
|
|
|
|
detExpected =
|
|
x^3 (2n-1)^3 (2n)^2 (6n-5)^3 (6n-1)^3 /
|
|
(20736 (2n+1)(6n+1)(6n+5));
|
|
check[
|
|
"regularized determinant has exact x-adic order three",
|
|
Factor[Together[Det[mHat]-detExpected]] === 0
|
|
];
|
|
check[
|
|
"Smith valuations are exactly (0,1,1,1)",
|
|
Factor[Cancel[Det[mHat]/x^3]/.x->0] =!= 0
|
|
];
|
|
|
|
(* For H_n=1+h_n z+O(z^2), every nonzero Euler derivative divided by
|
|
H_n starts as h_n z=-h_n x+O(x^2). Thus the normalized syzygy basis
|
|
|
|
W_n = [ -theta^i H_n/H_n | e_i ], i=1,2,3,
|
|
|
|
has the following first-order truncation. The exact zero below proves
|
|
that (W_n M_N)[:,2:4] is divisible by x. This is the algebraic step
|
|
which gains one valuation at every recurrence step. *)
|
|
hTail = Factor[
|
|
n(n+1/6)(n+1/2)(n+5/6)/(2n)^3
|
|
];
|
|
wLeading = {
|
|
{hTail x,1,0,0},
|
|
{hTail x,0,1,0},
|
|
{hTail x,0,0,1}
|
|
};
|
|
latticeStepLeading = Map[
|
|
Cancel,
|
|
Together[
|
|
(wLeading.mm[2n+1,x])[[All,2;;4]]
|
|
],
|
|
{2}
|
|
];
|
|
check[
|
|
"regular annihilator transfer gains one power of x",
|
|
Map[Factor[(#/.x->0)]&,latticeStepLeading,{2}]
|
|
=== ConstantArray[0,{3,3}]
|
|
];
|
|
|
|
|
|
(* ---------------------------------------------------------------------- *)
|
|
(* Exact spectral and cyclic-frame closure for all four official columns. *)
|
|
(* ---------------------------------------------------------------------- *)
|
|
|
|
rOfficial = 151931373056001;
|
|
sLimit = {
|
|
{64rOfficial-44,96rOfficial-54,48rOfficial-17,8rOfficial},
|
|
{-8,-12,-6,-1},
|
|
{1/rOfficial,-4/rOfficial,-6/rOfficial,-2/rOfficial},
|
|
{
|
|
2/rOfficial^2,
|
|
(17rOfficial-8)/rOfficial^2,
|
|
4(5rOfficial-3)/rOfficial^2,
|
|
(6rOfficial-4)/rOfficial^2
|
|
}
|
|
};
|
|
qQuartic[lam_] := (
|
|
rOfficial^2 lam^4
|
|
- (64rOfficial^3-56rOfficial^2-4) lam^3
|
|
+ (48rOfficial^2-262rOfficial+220) lam^2
|
|
- (12rOfficial-8) lam+1
|
|
);
|
|
|
|
check[
|
|
"balanced characteristic polynomial is the authoritative quartic",
|
|
Factor[
|
|
CharacteristicPolynomial[sLimit,lam]
|
|
-qQuartic[lam]/rOfficial^2
|
|
] === 0
|
|
];
|
|
check[
|
|
"characteristic quartic is irreducible",
|
|
TrueQ[IrreduciblePolynomialQ[qQuartic[lam]]]
|
|
];
|
|
|
|
roucheMargin =
|
|
64rOfficial^3-105rOfficial^2+250rOfficial-217;
|
|
check[
|
|
"Rouche separation has three roots in the unit disk",
|
|
roucheMargin > 0
|
|
];
|
|
|
|
eFirst = {1,0,0,0};
|
|
cyclicFrame = Transpose[{
|
|
eFirst,
|
|
sLimit.eFirst,
|
|
MatrixPower[sLimit,2].eFirst,
|
|
MatrixPower[sLimit,3].eFirst
|
|
}];
|
|
cyclicDetExpected =
|
|
-4(27rOfficial-11)(128rOfficial^2-149rOfficial-43)/
|
|
rOfficial^6;
|
|
check[
|
|
"limiting first-coordinate cyclic frame is invertible",
|
|
Factor[Together[Det[cyclicFrame]-cyclicDetExpected]] === 0
|
|
&& cyclicDetExpected != 0
|
|
];
|
|
|
|
wLeft = {
|
|
10+(44-7rOfficial)lam+(4+12rOfficial^2)lam^2
|
|
+rOfficial^2 lam^3,
|
|
2((-23+40rOfficial)
|
|
+(-108+194rOfficial-28rOfficial^2)lam
|
|
+(-27rOfficial^2+48rOfficial^3)lam^2),
|
|
(-32+71rOfficial)
|
|
+(-68+198rOfficial-8rOfficial^2)lam
|
|
+(-17rOfficial^2+48rOfficial^3)lam^2,
|
|
2rOfficial(8+(17+3rOfficial)lam+4rOfficial^2 lam^2)
|
|
};
|
|
leftResidual = Map[
|
|
Factor,
|
|
Together[
|
|
wLeft.(lam IdentityMatrix[4]-sLimit)
|
|
-{qQuartic[lam],0,0,0}
|
|
]
|
|
];
|
|
check[
|
|
"dominant left eigenvector has four nonzero coordinates",
|
|
leftResidual === ConstantArray[0,4]
|
|
&& And@@Map[
|
|
Exponent[PolynomialGCD[qQuartic[lam],#],lam] === 0&,
|
|
wLeft
|
|
]
|
|
];
|
|
|
|
|
|
Print["PASS: consolidated exact hypergeometric-closure certificate"];
|
|
Print[
|
|
"M_N K_(N+1)=K_N with ",
|
|
"kappa_(n+1)/kappa_n=-(6n+1)(6n+5)/",
|
|
"(576n^2(2n+1)^2)"
|
|
];
|
|
Print[
|
|
"P_n(z)[[1]]/a_n = ",
|
|
"4F3(-n,-n-1/6,-n-1/2,-n-5/6;",
|
|
"1-2n,1-2n,1-2n;z)"
|
|
];
|
|
Print[
|
|
"a_(n+1)/a_n = ",
|
|
"576 n^2 (2n+1)^2/((6n+1)(6n+5)), a_1=18"
|
|
];
|