[math-fun] Inhomogeneous contiguity
For the past 30 yrs I should have been nagging the computer algebra community to add a huge-bang-for-the-buck feature to each of those many algorithms (Risch integration, indefinite summation, Berlekamp factoring, various ODE techniques) which internally generate and solve linear systems. Namely, provide a way of designating some of the input symbols as constrainable, in order to get a closed integral, sum, factorization, etc.) I think from the outset Macsyma's NUSUM had an undocumented list named %CONSTRAINABLES, and it smashes the list %CONSTRAINTS with the results of its internal call to SOLVE. A fairly powerful application is my Macsyma function CONTIGUATE, which takes an arbitrary list of contiguous hypergeometric functions in sum or pFq form, and finds a contiguity relation if there is one, simply by lumping all the summands times undetermined coefficients. Surprisingly(?), this can produce inhomogeneous relations, e.g., HypergeometricPFQRegularized[{1}, {a, 1 + b}, z] + (-2 + a - b) HypergeometricPFQRegularized[{1}, {a, 2 + b}, z] - z HypergeometricPFQRegularized[{1}, {a, 3 + b}, z] == ((2 + b)^(-(3/2) - b) E^(2 + b))/(Sqrt[2 \[Pi]] Gamma[-1 + a]) FunctionExpand and FullSimplify shrug at this, but FindInstance claims to refute it with a crazy triad of Gaussian rationals and some choice of exponential branch cuts. But when I stipulate Reals it resumes shrugging. Conjoining just Element[a,Reals] runs forever(?). --rwg PVC! Yanqui no!
On 11/22/2010 7:38 AM, Bill Gosper wrote:
For the past 30 yrs I should have been nagging the computer algebra community to add a huge-bang-for-the-buck feature to each of those many algorithms (Risch integration, indefinite summation, Berlekamp factoring, various ODE techniques) which internally generate and solve linear systems. Namely, provide a way of designating some of the input symbols as constrainable, in order to get a closed integral, sum, factorization, etc.) I think from the outset Macsyma's NUSUM had an undocumented list named %CONSTRAINABLES, and it smashes the list %CONSTRAINTS with the results of its internal call to SOLVE. A fairly powerful application is my Macsyma function CONTIGUATE, which takes an arbitrary list of contiguous hypergeometric functions in sum or pFq form, and finds a contiguity relation if there is one, simply by lumping all the summands times undetermined coefficients. Surprisingly(?), this can produce inhomogeneous relations, e.g., HypergeometricPFQRegularized[{1}, {a, 1 + b}, z] + (-2 + a - b) HypergeometricPFQRegularized[{1}, {a, 2 + b}, z] - z HypergeometricPFQRegularized[{1}, {a, 3 + b}, z] == ((2 + b)^(-(3/2) - b) E^(2 + b))/(Sqrt[2 \[Pi]] Gamma[-1 + a])
Bill, this identity is wrong: In[26]:= {HypergeometricPFQRegularized[{1}, {a, 1 + b}, z] + (-2 + a - b) HypergeometricPFQRegularized[{1}, {a, 2 + b}, z] - z HypergeometricPFQRegularized[{1}, {a, 3 + b}, z], ((2 + b)^(-(3/2) - b) E^(2 + b))/(Sqrt[ 2 \[Pi]] Gamma[-1 + a])} /. {z -> 1/2, a -> 1/2, b -> 1/2} // N[#, 20] & Out[26]= {-0.21220659078919378103, -0.21936196168613487435} The right-hand-side should be 1/(Gamma[-1 + a] Gamma[2 + b]) In[19]:= Series[ HypergeometricPFQRegularized[{1}, {a, 1 + b}, z] + (-2 + a - b) HypergeometricPFQRegularized[{1}, {a, 2 + b}, z] - z HypergeometricPFQRegularized[{1}, {a, 3 + b}, z], {z, 0, 10}] // FullSimplify Out[19]= SeriesData[z, 0, {Gamma[-1 + a]^(-1)/Gamma[2 + b]}, 0, 11, 1] --Sasha
FunctionExpand and FullSimplify shrug at this, but FindInstance claims to refute it with a crazy triad of Gaussian rationals and some choice of exponential branch cuts. But when I stipulate Reals it resumes shrugging. Conjoining just Element[a,Reals] runs forever(?). --rwg PVC! Yanqui no!
YIKES, contiguate (which also takes finite sums) didn't restrict Stirling's approximation to factorials of the limit variable! Fix: don't use Stirling's at all. This bug predates limit knowing Stirling's! It didn't manifest earlier due to the uncommonness of inhomogeneous contiguities. Nice catch, Sasha! --rwg On Mon, Nov 22, 2010 at 5:56 AM, Oleksandr Pavlyk <pavlyk@wolfram.com>wrote:
On 11/22/2010 7:38 AM, Bill Gosper wrote:
For the past 30 yrs I should have been nagging the computer algebra community to add a huge-bang-for-the-buck feature to each of those many algorithms (Risch integration, indefinite summation, Berlekamp factoring, various ODE techniques) which internally generate and solve linear systems. Namely, provide a way of designating some of the input symbols as constrainable, in order to get a closed integral, sum, factorization, etc.) I think from the outset Macsyma's NUSUM had an undocumented list named %CONSTRAINABLES, and it smashes the list %CONSTRAINTS with the results of its internal call to SOLVE. A fairly powerful application is my Macsyma function CONTIGUATE, which takes an arbitrary list of contiguous hypergeometric functions in sum or pFq form, and finds a contiguity relation if there is one, simply by lumping all the summands times undetermined coefficients. Surprisingly(?), this can produce inhomogeneous relations, e.g., HypergeometricPFQRegularized[{1}, {a, 1 + b}, z] + (-2 + a - b) HypergeometricPFQRegularized[{1}, {a, 2 + b}, z] - z HypergeometricPFQRegularized[{1}, {a, 3 + b}, z] == ((2 + b)^(-(3/2) - b) E^(2 + b))/(Sqrt[2 \[Pi]] Gamma[-1 + a])
Bill, this identity is wrong:
In[26]:= {HypergeometricPFQRegularized[{1}, {a, 1 + b},
z] + (-2 + a - b) HypergeometricPFQRegularized[{1}, {a, 2 + b}, z] - z HypergeometricPFQRegularized[{1}, {a, 3 + b}, z], ((2 + b)^(-(3/2) - b) E^(2 + b))/(Sqrt[ 2 \[Pi]] Gamma[-1 + a])} /. {z -> 1/2, a -> 1/2, b -> 1/2} // N[#, 20] &
Out[26]= {-0.21220659078919378103, -0.21936196168613487435}
The right-hand-side should be 1/(Gamma[-1 + a] Gamma[2 + b])
In[19]:= Series[
HypergeometricPFQRegularized[{1}, {a, 1 + b}, z] + (-2 + a - b) HypergeometricPFQRegularized[{1}, {a, 2 + b}, z] - z HypergeometricPFQRegularized[{1}, {a, 3 + b}, z], {z, 0, 10}] // FullSimplify
Out[19]= SeriesData[z, 0, {Gamma[-1 + a]^(-1)/Gamma[2 + b]}, 0, 11, 1]
--Sasha
FunctionExpand and FullSimplify shrug at this, but FindInstance claims
to refute it with a crazy triad of Gaussian rationals and some choice of exponential branch cuts. But when I stipulate Reals it resumes shrugging. Conjoining just Element[a,Reals] runs forever(?). --rwg PVC! Yanqui no!
Further embarrassment: This identity did NOT require the %constrainables feature, a good example of which is: What linear factor telescopes partial sums of the binomial theorem? (c72) block([%constrainables:[a]],sum(x^k*binom(n,k)*(k+a),k,0,m), cons(%%=closedform(%%),%constraints)) m ==== \ k (d72) [ > (k + a) binomial(n, k) x = / ==== k = 0 m + 1 (n - m) binomial(n, m) x n x 1 - -----------------------------, a = - -----, g32608 = - -----] x + 1 x + 1 x + 1 (The gensym is from the summation algorithm.) --rwg On Tue, Nov 23, 2010 at 10:30 AM, Bill Gosper <billgosper@gmail.com> wrote:
YIKES, contiguate (which also takes finite sums) didn't restrict Stirling's approximation to factorials of the limit variable! Fix: don't use Stirling's at all. This bug predates limit knowing Stirling's! It didn't manifest earlier due to the uncommonness of inhomogeneous contiguities.
Nice catch, Sasha! --rwg
On Mon, Nov 22, 2010 at 5:56 AM, Oleksandr Pavlyk <pavlyk@wolfram.com>wrote:
On 11/22/2010 7:38 AM, Bill Gosper wrote:
For the past 30 yrs I should have been nagging the computer algebra community to add a huge-bang-for-the-buck feature to each of those many algorithms (Risch integration, indefinite summation, Berlekamp factoring, various ODE techniques) which internally generate and solve linear systems. Namely, provide a way of designating some of the input symbols as constrainable, in order to get a closed integral, sum, factorization, etc.) I think from the outset Macsyma's NUSUM had an undocumented list named %CONSTRAINABLES, and it smashes the list %CONSTRAINTS with the results of its internal call to SOLVE. A fairly powerful application is my Macsyma function CONTIGUATE, which takes an arbitrary list of contiguous hypergeometric functions in sum or pFq form, and finds a contiguity relation if there is one, simply by lumping all the summands times undetermined coefficients. Surprisingly(?), this can produce inhomogeneous relations, e.g., HypergeometricPFQRegularized[{1}, {a, 1 + b}, z] + (-2 + a - b) HypergeometricPFQRegularized[{1}, {a, 2 + b}, z] - z HypergeometricPFQRegularized[{1}, {a, 3 + b}, z] == ((2 + b)^(-(3/2) - b) E^(2 + b))/(Sqrt[2 \[Pi]] Gamma[-1 + a])
Bill, this identity is wrong:
In[26]:= {HypergeometricPFQRegularized[{1}, {a, 1 + b},
z] + (-2 + a - b) HypergeometricPFQRegularized[{1}, {a, 2 + b}, z] - z HypergeometricPFQRegularized[{1}, {a, 3 + b}, z], ((2 + b)^(-(3/2) - b) E^(2 + b))/(Sqrt[ 2 \[Pi]] Gamma[-1 + a])} /. {z -> 1/2, a -> 1/2, b -> 1/2} // N[#, 20] &
Out[26]= {-0.21220659078919378103, -0.21936196168613487435}
The right-hand-side should be 1/(Gamma[-1 + a] Gamma[2 + b])
In[19]:= Series[
HypergeometricPFQRegularized[{1}, {a, 1 + b}, z] + (-2 + a - b) HypergeometricPFQRegularized[{1}, {a, 2 + b}, z] - z HypergeometricPFQRegularized[{1}, {a, 3 + b}, z], {z, 0, 10}] // FullSimplify
Out[19]= SeriesData[z, 0, {Gamma[-1 + a]^(-1)/Gamma[2 + b]}, 0, 11, 1]
--Sasha
FunctionExpand and FullSimplify shrug at this, but FindInstance claims
to refute it with a crazy triad of Gaussian rationals and some choice of exponential branch cuts. But when I stipulate Reals it resumes shrugging. Conjoining just Element[a,Reals] runs forever(?). --rwg PVC! Yanqui no!
participants (2)
-
Bill Gosper -
Oleksandr Pavlyk