Last active
July 16, 2021 09:18
-
-
Save pjt33/345b7d70a320887e850b456c9fe04557 to your computer and use it in GitHub Desktop.
Searching for periodic hypergeometric functions
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
In principle, we should derive essentially the same solutions for $(k,l,m)$ as for $(l,k,m)$ by symmetry in the upper arguments, | |
and for $(k,l,m)$ as for $(-k,-l,-m)$ by effectively negating the sign of $t$. | |
I haven't implemented negative $l$ or positive $m$ so can't check the latter. | |
For the former, I see the symmetry correctly observed in many cases but there is the odd troubling exception. | |
(1,0,-1) | |
Ideal (x - 2, b0, a0 - b0 + c0 - 1, A - 1) | |
(0,1,-1) | |
Ideal (x, a0) | |
Ideal (a0, A - 1) | |
It would be as well to understand what's going on here before relying too heavily on these calculations. | |
---- | |
(-1, 1, -1) | |
Ideal (x - 1/2, b0 + c0 + 1, a0 + b0 - 1, A - 2) | |
should, if I've manipulated it correctly, certify the scale-periodicity of 2F1(1-u, u; -1-u; 1/2). | |
But if I expand that out a bit and tidy it up with WolframAlpha I get 2^{u+1} / (u+1), which is not quite scale-periodic. | |
This is definite cause for alarm. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from functools32 import lru_cache | |
var('a,b,c') | |
Ring0.<a0,b0,c0,x,A> = PolynomialRing(QQ) | |
Ring1.<t> = PolynomialRing(Ring0) | |
@lru_cache(None) | |
def Q(k,l,m): | |
if m < 0: return (((a+k) * Q(k+1,l,m+1) + (c+m-a-k) * Q(k,l,m+1))/(c+m)).simplify_rational() | |
if m > 0: raise Exception("Not yet supported") | |
if l > 0: return (((a+k) * Q(k+1,l-1,m) + (b+l-1-a-k) * Q(k,l-1,m))/(b+l-1)).simplify_rational() | |
if l < 0: raise Exception("Not yet supported") | |
if k == 0: return 0 | |
if k == 1: return 1 | |
if k > 0: return (((a+b-c+k-1+(a-b+k-1)*x) * Q(k-1,0,0) + (c-a-k+1) * Q(k-2,0,0))/((a+k-1)*x)).simplify_rational() | |
return (((a+k+1)*x * Q(k+2,l,m) - (a+b-c+k+2-m+(a+k+1-b-l)*x) * Q(k+1,l,m))/(c+m-a-k-1)).simplify_rational() | |
def P(k,l,m): | |
return Q(k-1,l,m).substitute(a == a+1) * (c-a-1)/((a+1)*x) | |
def periodic_hypergeometric_constraints(k,l,m): | |
qklm = Q(k,l,m).substitute(a == a0 + k*t, b == b0 + l*t, c == c0 + m*t) | |
qconstraints = [coeff_exp[0].polynomial(QQ) for coeff_exp in qklm.numerator().coefficients(t)] | |
pklm = P(k,l,m).substitute(a == a0 + k*t, b == b0 + l*t, c == c0 + m*t) | |
pconstraints = [coeff_exp[0].polynomial(QQ) for coeff_exp in (pklm.numerator() - A * pklm.denominator()).coefficients(t)] | |
return ideal(qconstraints + pconstraints).minimal_associated_primes() | |
for k in range(-5, 6): | |
for l in range(max(k,0), 6): | |
for m in range(-5, 1): | |
try: | |
prime_ideals = periodic_hypergeometric_constraints(k,l,m) | |
if not (1 in prime_ideals): | |
print(k,l,m) | |
print(prime_ideals) | |
print("") | |
except: | |
print(k,l,m) | |
print("Calculation failed") | |
print("") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Possibly interesting results | |
I've aggregated and applied some simplifications by hand. | |
Some of the solutions, particularly those with $z=A=1$, may be trivial on closer analysis. | |
## $k=l$, $m=0$ | |
The case $(1,1,0)$ had to be done by hand because Sage didn't like the substitutions. | |
From $Q(1,1,0) = (a + b - c + 1)/(b*x)$ and $P(1,1,0) = -(a - c + 1)/(b*x)$ we get ideal (A*x + 1, a0, b0, c0 - 1) corresponding to | |
$$F(t+1, t+1; 1; z) = -(1-z)^{-1} F(t, t; 1; z)$$ which is not very interesting per se. | |
What is interesting is that for larger values of $k=l$ we get solutions which aren't just iterated versions of that one, which seems | |
to be fairly unusual. Moreover, they have non-unit values of $z$ and $A$. I've suppressed the imprimitive solutions. | |
(2, 2, 0) | |
Ideal (c0 - 1/2, 2*a0 - 2*b0 + 1, x - 2, A + 1/4) | |
Ideal (c0 - 1/2, 2*a0 - 2*b0 - 1, x - 2, A + 1/4) | |
(3, 3, 0) | |
Ideal (c0 - 1/2, 2*a0 - 2*b0 + 1, x - 4, 64*A - 1) | |
Ideal (c0 - 1/2, 2*a0 - 2*b0 - 1, x - 4, 64*A - 1) | |
Ideal (c0 - 1/2, 2*a0 - 2*b0 + 1, 3*x - 4, 64*A + 27) | |
Ideal (c0 - 1/2, 2*a0 - 2*b0 - 1, 3*x - 4, 64*A + 27) | |
(4, 4, 0) | |
Ideal (c0 - 1/2, 2*a0 - 2*b0 + 1, x^2 - 8*x + 8, 64*A - 6*x + 41) | |
Ideal (c0 - 1/2, 2*a0 - 2*b0 - 1, x^2 - 8*x + 8, 64*A - 6*x + 41) | |
(5, 5, 0) | |
Ideal (c0 - 1/2, 2*a0 - 2*b0 + 1, x^2 - 12*x + 16, 4096*A + 55*x - 576) | |
Ideal (c0 - 1/2, 2*a0 - 2*b0 - 1, x^2 - 12*x + 16, 4096*A + 55*x - 576) | |
Ideal (c0 - 1/2, 2*a0 - 2*b0 + 1, 5*x^2 - 20*x + 16, 4096*A - 1375*x + 4000) | |
Ideal (c0 - 1/2, 2*a0 - 2*b0 - 1, 5*x^2 - 20*x + 16, 4096*A - 1375*x + 4000) | |
(6, 6, 0) | |
Ideal (c0 - 1/2, 2*a0 - 2*b0 + 1, x^2 - 16*x + 16, 4096*A - 195*x + 2911) | |
Ideal (c0 - 1/2, 2*a0 - 2*b0 - 1, x^2 - 16*x + 16, 4096*A - 195*x + 2911) | |
(7, 7, 0) | |
Ideal (c0 - 1/2, 2*a0 - 2*b0 + 1, x^3 - 24*x^2 + 80*x - 64, 65536*A - 595*x^2 + 13552*x - 31012) | |
Ideal (c0 - 1/2, 2*a0 - 2*b0 - 1, x^3 - 24*x^2 + 80*x - 64, 65536*A - 595*x^2 + 13552*x - 31012) | |
Ideal (c0 - 1/2, 2*a0 - 2*b0 + 1, 7*x^3 - 56*x^2 + 112*x - 64, 65536*A + 17493*x^2 - 122108*x + 155036) | |
Ideal (c0 - 1/2, 2*a0 - 2*b0 - 1, 7*x^3 - 56*x^2 + 112*x - 64, 65536*A + 17493*x^2 - 122108*x + 155036) | |
These all correspond to $${}_2F_1(u + k, u + k \pm 1/2; 1/2; 1-x) = A\, {}_2F_1(u, u \pm 1/2; 1/2; 1-x)$$ for arbitrary $u$. | |
## $z \neq 1$, $A \neq 1$ | |
(-1, 1, -1) | |
Ideal (x - 1/2, b0 + c0 + 1, a0 + b0 - 1, A - 2) | |
(1, 2, 0) | |
Ideal (x - 9, c0 - 2/3, a0 - 1/2*b0 - 1/6, A + 1/27) | |
(1, 3, 0) | |
Ideal (x + 8, 2*c0 - 1, 6*a0 - 2*b0 - 1, 64*A - 1) | |
(2, 3, -1) | |
Ideal (x - 2, b0 + 3*c0 - 3, a0 + 2*c0 - 2, A + 1) | |
Ideal (x - 2, b0 + 3*c0 - 1, a0 + 2*c0, A + 1) | |
## $z \neq 1$, $A = 1$ | |
We have three families which are similar to but slightly less interesting than the case $k=l$, $m=0$. | |
(-2, 0, 0) | |
Ideal (x + 1, c0, 2*b0 + 1, A - 1), | |
(-3, 0, 0) | |
Ideal (x^2 + x + 1, c0, 3*b0 + x + 2, A - 1) | |
(-4, 0, 0) | |
Ideal (x^2 + 1, c0, 2*b0 + x + 1, A - 1) | |
(-5, 0, 0) | |
Ideal (x^4 + x^3 + x^2 + x + 1, c0, x^3 + 2*x^2 + 3*x + 4 + 5*b0, A - 1) | |
(-2, 0, -2) | |
Ideal (x - 2, b0 - 1, a0 - c0 + 1, A - 1) | |
(-3, 0, -3) | |
Ideal (x^2 - 3*x + 3, b0 + x - 2, a0 - c0 + 1, A - 1) | |
Ideal (x^2 - 3*x + 3, b0 + x - 3, a0 - c0, A - 1) | |
(-4, 0, -4) | |
Ideal (x - 2, b0 - 2, a0 - c0, A - 1) | |
Ideal (x^2 - 2*x + 2, b0 + x - 1, a0 - c0 + 1, A - 1) | |
Ideal (x^2 - 2*x + 2, b0 + x - 2, a0 - c0, A - 1) | |
(-5, 0, -5) | |
Ideal (x^4 - 5*x^3 + 10*x^2 - 10*x + 5, b0 + x^3 - 4*x^2 + 6*x - 4, a0 - c0 + 1, A - 1) | |
Ideal (x^4 - 5*x^3 + 10*x^2 - 10*x + 5, b0 + x^3 - 4*x^2 + 6*x - 5, a0 - c0, A - 1) | |
(0, 0, -2) | |
Ideal (2*x - 1, b0, a0 - 1, A - 1) | |
(0, 0, -3) | |
Ideal (3*x^2 - 3*x + 1, b0, a0 - 1, A - 1) | |
(0, 0, -4) | |
Ideal (2*x^2 - 2*x + 1, b0, a0 - 1, A - 1) | |
(0, 0, -5) | |
Ideal (5*x^4 - 10*x^3 + 10*x^2 - 5*x + 1, b0, a0 - 1, A - 1) | |
(-3, 0, -1) | |
Ideal (3*x + 1, 4*b0 + 1, a0 - 3*c0 + 2, A - 1) | |
(-2, 0, -1) | |
Ideal (2*x - 1, b0 + 2, a0 - 2*c0 + 1, A - 1) | |
(-1, 0, -2) | |
Ideal (x + 1, b0 + 1/2, a0 - 1/2*c0, A - 1) | |
(0, 2, -1) | |
Ideal (x + 3, b0 + 2*c0 - 2, 2*a0 - 1, A - 1) | |
(1, 0, -1) | |
Ideal (x - 2, b0, a0 + c0 - 1, A - 1) | |
## $z=1$, $A \neq 1$ | |
(-2, 1, 0) | |
Ideal (x, 2*c0 - 5, 2*a0 + 4*b0 - 3, A + 1/4) | |
(-1, 1, 0) | |
Ideal (x, c0 - 2, a0 + b0 - 1, A + 1) | |
## $z=1$, $A=1$ | |
Most of these seem to fit into two families: | |
### $b_0 = 0$ | |
(-5, 0, -1) | |
Ideal (x, b0, a0 - 5*c0 + 5, A - 1) | |
(-5, 0, -2) | |
Ideal (x, b0, 2*a0 - 5*c0 + 5, A - 1) | |
(-5, 0, -3) | |
Ideal (x, b0, 3*a0 - 5*c0 + 5, A - 1) | |
(-5, 0, -4) | |
Ideal (x, b0, 4*a0 - 5*c0 + 5, A - 1) | |
(-4, 0, -1) | |
Ideal (x, b0, a0 - 4*c0 + 4, A - 1) | |
(-4, 0, -3) | |
Ideal (x, b0, 3*a0 - 4*c0 + 4, A - 1) | |
(-3, 0, -1) | |
Ideal (x, b0, a0 - 3*c0 + 3, A - 1) | |
(-3, 0, -2) | |
Ideal (x, b0, 2*a0 - 3*c0 + 3, A - 1) | |
Conjecture: for all $k < m < 0 = l$ we have a one-parameter family of solutions $b_0 = 0$, $c_0 = m/k a_0 + 1$, $z = A = 1$. | |
### $b_0 = -2$ | |
(-5, 0, -1) | |
Ideal (x, b0, a0 - 5*c0, A - 1) | |
(-5, 0, -2) | |
Ideal (x, b0, 2*a0 - 5*c0, A - 1) | |
(-5, 0, -3) | |
Ideal (x, b0, 3*a0 - 5*c0, A - 1) | |
(-5, 0, -4) | |
Ideal (x, b0, 4*a0 - 5*c0, A - 1) | |
(-4, 0, -1) | |
Ideal (x, b0, a0 - 4*c0, A - 1) | |
(-4, 0, -3) | |
Ideal (x, b0, 3*a0 - 4*c0, A - 1) | |
(-3, 0, -1) | |
Ideal (x, b0, a0 - 3*c0, A - 1) | |
(-3, 0, -2) | |
Ideal (x, b0, 2*a0 - 3*c0, A - 1) | |
Conjecture: for all $k < m < 0 = l$ we have a one-parameter family of solutions $b_0 = -2$, $c_0 = m/k a_0$, $z = A = 1$. | |
### Sporadic | |
(-2, 0, -1) | |
Ideal (x, a0 + b0 - 2*c0 + 2, A - 1) | |
This specialises to the above cases $b_0 = 0$ and $b_0 = -2$ but admits a more general solution. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment