[math-fun] WIlsonian sums of 1/(n+k) and 1/(n+k)^2, and linear relations among them
Wilsonian sums can be computed by the following recursive routine, which I have found (at least for table below) returns a lot more accuracy than the naive sequential-sum approach (due to smaller floating point roundoff errors). //Wsum(0,k) finds the "Wilsonian tree sum" of f(n) for n=0,1,..., 2^k-1. real wsum(uint offset, int depth){ if(depth<=1){ if(depth==1){ return( f(offset)-f(offset+1) ); } return( f(offset) ); } depth = depth-1; return( wsum(offset, depth) - wsum(offset+(1<<depth), depth) ); } Looking at what Gosper & Julian were doing... I made this table of (what they were calling) a[j]. As an indication of convergence speed, depth=11 already suffices to attain full machine accuracy for a[1] using above routine. Julian proved the linear relations a[k]=a[k+1]+2a[2k]+2a[2k+1]. To verify a1 = 3*a2+2*a3: 0.3987610881084188 = 0.1049709156498952 * 3 + 0.0419241705793666 * 2 confirmed to all decimal places. However there are more linear relations beyond the Gosper-Hunt family: a[2] = a[3] + 2*a[4] + 2*a[5] a[3] = a[4] + 2*a[6] + 2*a[7] a[4] = a[5] + 2*a[8] + 2*a[9] a[5] = a[6] + 2*a[10] + 2*a[11] ... such as a[2] = a[3] + 2*a[4] + 2*a[5] a[3] = a[4] + 2*a[6] + 2*a[7] a[4] = a[5] + 2*a[8] + 2*a[9] a[5] = a[6] + 2*a[10] + 2*a[11] ... a[1] = 2*a[2] + 3*a[3] + 2*a[4] + 2*a[5] a[2] = 3*a[4] + 2*a[5] + 2*a[6] + 2*a[7] a[1] = 5*a[3] + 6*a[4] + 6*a[5] 5*a[2] = a[1] + 8*a[5] + 8*a[8] + 8*a[9] 5*a[2] = a[1] + 4*a[4] + 4*a[5] I have a huge list of these... table of "Wilsonian sums" of 1/(1+j) for each j=1..32: j SUM( h(n) / (n+j) for n=0..2^k-1 in limit of large k --- ------------------------------------------------------- 1 0.3987610881084188 2 0.1049709156498952 3 0.0419241705793666 4 0.0203750966130826 5 0.0111482759221817 6 0.0066128424114721 7 0.0041616945716699 8 0.0027411489242099 9 0.0018722614212406 10 0.0013173970994978 11 0.0009503196558569 12 0.0007001840370244 13 0.0005253898828767 14 0.0004005619577615 15 0.0003097108659685 16 0.0002424742647055 17 0.0001919694867792 18 0.0001535248009690 19 0.0001239073599023 20 0.0001008409648011 21 0.0000826977570194 22 0.0000682969401414 23 0.0000567708692748 24 0.0000474744168942 25 0.0000399226601797 26 0.0000337474197261 27 0.0000286665428315 28 0.0000244619271800 29 0.0000209636187166 30 0.0000180381829930 31 0.0000155801176385 32 0.0000135054521681 And here is the corresponding table for squared denominator: table of "Wilsonian sums" of 1/(1+j)^2 for each j=1..32: j SUM( h(n) / (n+j)^2 for n=0..2^k-1 in limit of large k --- --------------------------------------------------------- 1 0.6931534522180850 2 0.1117650400949581 3 0.0335820629358237 4 0.0133237967727124 5 0.0062219475170712 6 0.0032397035956294 7 0.0018248629451484 8 0.0010912827018934 9 0.0006841796120168 10 0.0004457425663512 11 0.0002998184140093 12 0.0002071838292345 13 0.0001465263333858 14 0.0001057349601303 15 0.0000776601006835 16 0.0000579399143162 17 0.0000438358581530 18 0.0000335845447693 19 0.0000260247166471 20 0.0000203761188256 21 0.0000161049192598 22 0.0000128398456509 23 0.0000103188005428 24 0.0000083542143978 25 0.0000068101595644 26 0.0000055869866897 27 0.0000046108566242 28 0.0000038265094055 29 0.0000031922054562 30 0.0000026761444430 31 0.0000022539021488 32 0.0000019065770308 and it found many linear relations for these too (call these b[j]), here are the first few of my list of 382 such: 1*b[1] + -7*b[2] + -2*b[3] + 8*b[4] + 8*b[5] = 0.0000000000000001 1*b[1] + -6*b[2] + -3*b[3] + 4*b[4] + 4*b[5] = 0.0000000000000001 1*b[1] + -5*b[2] + -4*b[3] = 0.0000000000000002 1*b[1] + -4*b[2] + -5*b[3] + -4*b[4] + -4*b[5] = 0.0000000000000001 1*b[1] + -3*b[2] + -6*b[3] + -8*b[4] + -8*b[5] = 0.0000000000000001 1*b[1] + -5*b[2] + -4*b[3] = 0.0000000000000002 1*b[1] + -5*b[2] + -4*b[3] = 0.0000000000000002 1*b[1] + -5*b[2] + -4*b[3] = 0.0000000000000002 1*b[1] + -5*b[2] + -4*b[3] = 0.0000000000000002 1*b[1] + -5*b[2] + -4*b[3] = 0.0000000000000002 1*b[1] + -5*b[2] + -4*b[3] = 0.0000000000000002 1*b[1] + -5*b[2] + -4*b[3] = 0.0000000000000002 -- Warren D. Smith http://RangeVoting.org <-- add your endorsement (by clicking "endorse" as 1st step)
Crud, seem to have duplicated linear relations... trying again... Here are relations involving a[1]: 1*a[1]+1*a[2]-6*a[3]-8*a[4]-8*a[5] = -0.0000000000000002 1*a[1]-1*a[2]-4*a[3]-4*a[4]-4*a[5] = -0.0000000000000000 1*a[1]-2*a[2]-3*a[3]-2*a[4]-2*a[5] = -0.0000000000000000 1*a[1]-3*a[2]-2*a[3] = -0.0000000000000000 1*a[1]-3*a[2]-2*a[4]-4*a[6]-4*a[7] = -0.0000000000000000 1*a[1]-4*a[2]-1*a[3]+2*a[4]+2*a[5] = 0.0000000000000000 1*a[1]-5*a[2]+4*a[4]+4*a[5] = -0.0000000000000000 1*a[1]-5*a[2]+8*a[4]-8*a[8]-8*a[9] = -0.0000000000000000 1*a[1]-5*a[2]+8*a[5]+8*a[8]+8*a[9] = -0.0000000000000000 1*a[1]-5*a[3]-6*a[4]-6*a[5] = -0.0000000000000001 1*a[1]-6*a[2]+1*a[3]+6*a[4]+6*a[5] = 0.0000000000000000 1*a[1]-7*a[2]+2*a[3]+8*a[4]+8*a[5] = 0.0000000000000001 2*a[1]-3*a[2]-7*a[3]-6*a[4]-6*a[5] = -0.0000000000000001 2*a[1]-5*a[2]-5*a[3]-2*a[4]-2*a[5] = -0.0000000000000001 2*a[1]-7*a[2]-3*a[3]+2*a[4]+2*a[5] = 0.0000000000000000 3*a[1]-7*a[2]-8*a[3]-4*a[4]-4*a[5] = 0.0000000000000001 3*a[1]-8*a[2]-7*a[3]-2*a[4]-2*a[5] = 0.0000000000000001 Here are some involving a[2] but not a[1]: 1*a[2]-1*a[3]-2*a[4]-2*a[5] = -0.0000000000000000 1*a[2]-1*a[3]-4*a[4]+4*a[8]+4*a[9] = -0.0000000000000000 1*a[2]-1*a[3]-4*a[5]-4*a[8]-4*a[9] = -0.0000000000000000 1*a[2]-3*a[3]-2*a[5]+4*a[6]+4*a[7] = -0.0000000000000000 1*a[2]-3*a[4]-2*a[5]-2*a[6]-2*a[7] = -0.0000000000000000 Here are some involving a[3] but not a[1],a[2]: 1*a[3]-1*a[4]-2*a[6]-2*a[7] = 0.0000000000000000 1*a[3]-1*a[4]-4*a[6]+4*a[12]+4*a[13] = 0.0000000000000000 1*a[3]-1*a[4]-4*a[7]-4*a[12]-4*a[13] = 0.0000000000000000 Here are some involving a[4] but not a[1,2,3]: 1*a[4]-1*a[5]-2*a[8]-2*a[9] = 0.0000000000000000 1*a[4]-1*a[5]-4*a[8]+4*a[16]+4*a[17] = 0.0000000000000000 1*a[4]-1*a[5]-4*a[9]-4*a[16]-4*a[17] = 0.0000000000000000 And... 1*a[5]-1*a[6]-2*a[10]-2*a[11] = 0.0000000000000000 1*a[5]-1*a[6]-4*a[10]+4*a[20]+4*a[21] = 0.0000000000000000 1*a[5]-1*a[6]-4*a[11]-4*a[20]-4*a[21] = 0.0000000000000000 Here are some relations involving b[1]: 1*b[1]-3*b[2]-6*b[3]-8*b[4]-8*b[5] = 0.0000000000000001 1*b[1]-4*b[2]-5*b[3]-4*b[4]-4*b[5] = 0.0000000000000001 1*b[1]-5*b[2]-4*b[3] = 0.0000000000000002 1*b[1]-6*b[2]-3*b[3]+4*b[4]+4*b[5] = 0.0000000000000001 1*b[1]-7*b[2]-2*b[3]+8*b[4]+8*b[5] = 0.0000000000000001 But it appears they all are consequences of just one of them and 1*b[2]-1*b[3]-4*b[4]-4*b[5] = -0.0000000000000000 We also have 1*b[2]-5*b[4]-4*b[5]-4*b[6]-4*b[7] = -0.0000000000000000 But it arises from 1*b[3]-1*b[4]-4*b[6]-4*b[7] = -0.0000000000000000 and there is 1*b[4]-1*b[5]-4*b[8]-4*b[9] = 0.0000000000000000 1*b[5]-1*b[6]-4*b[10]-4*b[11] = 0.0000000000000000 1*b[6]-1*b[7]-4*b[12]-4*b[13] = 0.0000000000000000 1*b[7]-1*b[8]-4*b[14]-4*b[15] = 0.0000000000000000 Anyhow... the prime question would seem to be: What is the minimum number of constants you need to know, to be able to know all of a[1], a[2],..., a[N] since they all are just integer linear combinations of members of your master set? Certainly if N>0 the answer is at most ceiling((N+1)/2), from the Gosper-Hunt relations; and all of my relations for a[] listed above only determine a[2k]+a[2k+1] and not a[2k+1] alone, which suggests perhaps the Gosper-Hunt relations might be a full basis for the relations obeyed by a[].
Previously: Anyhow... the prime question would seem to be: What is the minimum number of constants you need to know, to be able to know all of a[1], a[2],..., a[N] since they all are just integer linear combinations of members of your master set? Certainly if N>0 the answer is at most ceiling((N+1)/2), from the Gosper-Hunt relations; and all of my relations for a[] listed above only determine a[2k]+a[2k+1] and not a[2k+1] alone, which suggests perhaps the Gosper-Hunt relations might be a full basis for the relations obeyed by a[]. But now: If we just focus on these relations: 1*a[1]-3*a[2]-2*a[3] = -0.0000000000000000 1*a[1]-5*a[2]+4*a[4]+4*a[5] = -0.0000000000000000 1*a[1]-5*a[2]+8*a[4]-8*a[8]-8*a[9] = -0.0000000000000000 1*a[2]-3*a[4]-2*a[5]-2*a[6]-2*a[7] = -0.0000000000000000 1*a[3]-1*a[4]-2*a[6]-2*a[7] = 0.0000000000000000 1*a[3]-1*a[4]-4*a[6]+4*a[12]+4*a[13] = 0.0000000000000000 1*a[3]-1*a[4]-4*a[7]-4*a[12]-4*a[13] = 0.0000000000000000 1*a[4]-1*a[5]-2*a[8]-2*a[9] = 0.0000000000000000 1*a[4]-1*a[5]-4*a[8]+4*a[16]+4*a[17] = 0.0000000000000000 1*a[4]-1*a[5]-4*a[9]-4*a[16]-4*a[17] = 0.0000000000000000 1*a[5]-1*a[6]-2*a[10]-2*a[11] = 0.0000000000000000 1*a[5]-1*a[6]-4*a[10]+4*a[20]+4*a[21] = 0.0000000000000000 1*a[5]-1*a[6]-4*a[11]-4*a[20]-4*a[21] = 0.0000000000000000 1*a[6]-1*a[7]-4*a[12]+4*a[24]+4*a[25] = -0.0000000000000000 1*a[6]-1*a[7]-4*a[13]-4*a[24]-4*a[25] = -0.0000000000000000 we see that only 5 constants a1, a2, a16+a17, a20+a21, a24+a25 suffice to determine a1,a2,...,a13. Perhaps the answer is you need N constants to determine a[1],a[2],...,a[2N+3]... but I think this is still compatible with the hypothesis that the Gosper-Hunt relations are the full basis. -- Warren D. Smith http://RangeVoting.org <-- add your endorsement (by clicking "endorse" as 1st step)
-----Original Message----- From: math-fun [mailto:math-fun-bounces@mailman.xmission.com] On Behalf Of Warren D Smith Sent: Thursday, July 10, 2014 1:00 PM To: math-fun Subject: [math-fun] WIlsonian sums of 1/(n+k) and 1/(n+k)^2, and linear relations among them
Wilsonian sums can be computed by the following recursive routine, which I have found (at least for table below) returns a lot more accuracy than the naive sequential-sum approach (due to smaller floating point roundoff errors).
//Wsum(0,k) finds the "Wilsonian tree sum" of f(n) for n=0,1,..., 2^k-1. real wsum(uint offset, int depth){ if(depth<=1){ if(depth==1){ return( f(offset)-f(offset+1) ); } return( f(offset) ); } depth = depth-1; return( wsum(offset, depth) - wsum(offset+(1<<depth), depth) ); }
Looking at what Gosper & Julian were doing... I made this table of (what they were calling) a[j]. As an indication of convergence speed, depth=11 already suffices to attain full machine accuracy for a[1] using above routine.
Julian proved the linear relations a[k]=a[k+1]+2a[2k]+2a[2k+1]. To verify a1 = 3*a2+2*a3: 0.3987610881084188 = 0.1049709156498952 * 3 + 0.0419241705793666 * 2 confirmed to all decimal places.
However there are more linear relations beyond the Gosper-Hunt family: a[2] = a[3] + 2*a[4] + 2*a[5] a[3] = a[4] + 2*a[6] + 2*a[7] a[4] = a[5] + 2*a[8] + 2*a[9] a[5] = a[6] + 2*a[10] + 2*a[11] ... such as a[2] = a[3] + 2*a[4] + 2*a[5] a[3] = a[4] + 2*a[6] + 2*a[7] a[4] = a[5] + 2*a[8] + 2*a[9] a[5] = a[6] + 2*a[10] + 2*a[11] ...
a[1] = 2*a[2] + 3*a[3] + 2*a[4] + 2*a[5] a[2] = 3*a[4] + 2*a[5] + 2*a[6] + 2*a[7] a[1] = 5*a[3] + 6*a[4] + 6*a[5] 5*a[2] = a[1] + 8*a[5] + 8*a[8] + 8*a[9] 5*a[2] = a[1] + 4*a[4] + 4*a[5]
I have a huge list of these...
table of "Wilsonian sums" of 1/(1+j) for each j=1..32: j SUM( h(n) / (n+j) for n=0..2^k-1 in limit of large k --- ------------------------------------------------------- 1 0.3987610881084188 2 0.1049709156498952 3 0.0419241705793666 4 0.0203750966130826 5 0.0111482759221817 6 0.0066128424114721 7 0.0041616945716699 8 0.0027411489242099 9 0.0018722614212406 10 0.0013173970994978 11 0.0009503196558569 12 0.0007001840370244 13 0.0005253898828767 14 0.0004005619577615 15 0.0003097108659685 16 0.0002424742647055 17 0.0001919694867792 18 0.0001535248009690 19 0.0001239073599023 20 0.0001008409648011 21 0.0000826977570194 22 0.0000682969401414 23 0.0000567708692748 24 0.0000474744168942 25 0.0000399226601797 26 0.0000337474197261 27 0.0000286665428315 28 0.0000244619271800 29 0.0000209636187166 30 0.0000180381829930 31 0.0000155801176385 32 0.0000135054521681
And here is the corresponding table for squared denominator:
table of "Wilsonian sums" of 1/(1+j)^2 for each j=1..32: j SUM( h(n) / (n+j)^2 for n=0..2^k-1 in limit of large k --- --------------------------------------------------------- 1 0.6931534522180850 2 0.1117650400949581 3 0.0335820629358237 4 0.0133237967727124 5 0.0062219475170712 6 0.0032397035956294 7 0.0018248629451484 8 0.0010912827018934 9 0.0006841796120168 10 0.0004457425663512 11 0.0002998184140093 12 0.0002071838292345 13 0.0001465263333858 14 0.0001057349601303 15 0.0000776601006835 16 0.0000579399143162 17 0.0000438358581530 18 0.0000335845447693 19 0.0000260247166471 20 0.0000203761188256 21 0.0000161049192598 22 0.0000128398456509 23 0.0000103188005428 24 0.0000083542143978 25 0.0000068101595644 26 0.0000055869866897 27 0.0000046108566242 28 0.0000038265094055 29 0.0000031922054562 30 0.0000026761444430 31 0.0000022539021488 32 0.0000019065770308
and it found many linear relations for these too (call these b[j]), here are the first few of my list of 382 such: 1*b[1] + -7*b[2] + -2*b[3] + 8*b[4] + 8*b[5] = 0.0000000000000001 1*b[1] +
6*b[2] + -3*b[3] + 4*b[4] + 4*b[5] = 0.0000000000000001 1*b[1] + -5*b[2] +
For whom are these Wilsonian sums named? - -
4*b[3] = 0.0000000000000002 1*b[1] + -4*b[2] + -5*b[3] + -4*b[4] + -4*b[5] = 0.0000000000000001 1*b[1] + -3*b[2] + -6*b[3] + -8*b[4] + -8*b[5] = 0.0000000000000001 1*b[1] + -5*b[2] + -4*b[3] = 0.0000000000000002 1*b[1] + -5*b[2] + -4*b[3] = 0.0000000000000002 1*b[1] + -5*b[2] + -4*b[3] = 0.0000000000000002 1*b[1] + -5*b[2] + -4*b[3] = 0.0000000000000002 1*b[1] + -5*b[2] + -4*b[3] = 0.0000000000000002 1*b[1] + -5*b[2] + -4*b[3] = 0.0000000000000002 1*b[1] + -5*b[2] + -4*b[3] = 0.0000000000000002
-- Warren D. Smith http://RangeVoting.org <-- add your endorsement (by clicking "endorse" as 1st step)
_______________________________________________ math-fun mailing list math-fun@mailman.xmission.com https://mailman.xmission.com/cgi-bin/mailman/listinfo/math-fun
participants (2)
-
David Wilson -
Warren D Smith