Discussion about math, puzzles, games and fun. Useful symbols: ÷ × ½ √ ∞ ≠ ≤ ≥ ≈ ⇒ ± ∈ Δ θ ∴ ∑ ∫ π -¹ ² ³ °

You are not logged in.

- Topics: Active | Unanswered

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 88,957

Recursion in my opinion is rarely the best way to go.

It performs well for the tasks it is given. The lists are rarely longer than 50 and usually shorter.

When we begin you will see why this program is more than fast enough. But if you want to optimize it then go ahead.

**In mathematics, you don't understand things. You just get used to them.**

**I agree with you regarding the satisfaction and importance of actually computing some numbers. I can't tell you how often I see time and money wasted because someone didn't bother to run the numbers.**

**Online**

**anonimnystefy****Real Member**- From: The Foundation
- Registered: 2011-05-23
- Posts: 15,606

Okay, what now?

Here lies the reader who will never open this book. He is forever dead.

Taking a new step, uttering a new word, is what people fear most. ― Fyodor Dostoyevsky, Crime and Punishment

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 88,957

Hi;

Lets start with the way a dummy would approach this problem.

Make a table:

s=Table[Sum[1/n^3, {n, 1, 2^m}], {m, 0, 17}]

That is really stupid code!

s//N

{1., 1.125, 1.177662037037037, 1.1951602435617104, \

1.2002220387226148, 1.2015836423576125, 1.2019367252957784, \

1.2020266230687449, 1.202049303509178, 1.2020549995326137, \

1.20205642678787, 1.2020567840084981, 1.2020568733645467, \

1.2020568957099231, 1.202056901297063, 1.2020569026939472, \

1.2020569030431807}

Using the double rule we can see that we probably have about 8 places.

Now run

N[romberg[s], 50]

1.2020569031595942853997381615114499907649857486888

we see we have about 41 places! A great acceleration.

**In mathematics, you don't understand things. You just get used to them.**

**I agree with you regarding the satisfaction and importance of actually computing some numbers. I can't tell you how often I see time and money wasted because someone didn't bother to run the numbers.**

**Online**

**anonimnystefy****Real Member**- From: The Foundation
- Registered: 2011-05-23
- Posts: 15,606

Hi

Here's my code for romberg:

```
romberg[l_] := Module[{x, a}, a = Dimensions[l][[1]]; x = 1/2;
Clear[f];
f[n_, 1] := f[n, 1] = l[[n]];
f[i_, j_] := f[i, j] = (f[i, j - 1] - x^(j - 1)*f[i - 1, j - 1])/(1 - x^(j - 1));
f[a, a]];
```

Hm, let me try it on another one.

Here lies the reader who will never open this book. He is forever dead.

Taking a new step, uttering a new word, is what people fear most. ― Fyodor Dostoyevsky, Crime and Punishment

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 88,957

Did you write it?

**In mathematics, you don't understand things. You just get used to them.**

**I agree with you regarding the satisfaction and importance of actually computing some numbers. I can't tell you how often I see time and money wasted because someone didn't bother to run the numbers.**

**Online**

**anonimnystefy****Real Member**- From: The Foundation
- Registered: 2011-05-23
- Posts: 15,606

Write what?

Here lies the reader who will never open this book. He is forever dead.

Taking a new step, uttering a new word, is what people fear most. ― Fyodor Dostoyevsky, Crime and Punishment

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 88,957

That Romberg or all of Shakespeare?

**In mathematics, you don't understand things. You just get used to them.**

**Online**

**anonimnystefy****Real Member**- From: The Foundation
- Registered: 2011-05-23
- Posts: 15,606

I wrote the romberg function. Why?

Here lies the reader who will never open this book. He is forever dead.

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 88,957

That is good. Did you get the point of it in post 1928?

**In mathematics, you don't understand things. You just get used to them.**

**Online**

**anonimnystefy****Real Member**- From: The Foundation
- Registered: 2011-05-23
- Posts: 15,606

Hi

I did. I tried it on both of our accelerated sequences, and it worked worse than on the original sequence...

If you were wondering about the stuff I used, like f[i,j]:=f[i,j]=...; it's something I found a while ago while searching for a way to do memoization in recursion in M.

*Last edited by anonimnystefy (2013-09-30 06:49:44)*

Here lies the reader who will never open this book. He is forever dead.

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 88,957

Yes, I am familiar with memoization.

What do you mean by worse?

**In mathematics, you don't understand things. You just get used to them.**

**Online**

**anonimnystefy****Real Member**- From: The Foundation
- Registered: 2011-05-23
- Posts: 15,606

```
Table[Sum[(11 i + 6)/(i^3 (i + 1) (i + 2) (i + 3)), {i, 1, n}], {n, 1, 50}];
N[romberg1[%], 30]
0.785389896574820021713652114058
5/12 + % - Zeta[3]
-3.39918107597019419380786*10^-7
```

*Last edited by anonimnystefy (2013-09-30 07:01:25)*

Here lies the reader who will never open this book. He is forever dead.

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 88,957

Sequence acceleration has rules and the tail does not apply.

**In mathematics, you don't understand things. You just get used to them.**

**Online**

**anonimnystefy****Real Member**- From: The Foundation
- Registered: 2011-05-23
- Posts: 15,606

Could you elaborate?

Here lies the reader who will never open this book. He is forever dead.

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 88,957

Notice how I constructed s.

**In mathematics, you don't understand things. You just get used to them.**

**Online**

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 88,957

Sequences that are decreasing geometrically and have steep curves seem to accelerate better. The tail is almost flat.

**In mathematics, you don't understand things. You just get used to them.**

**Online**

**anonimnystefy****Real Member**- From: The Foundation
- Registered: 2011-05-23
- Posts: 15,606

Oh! It goes from 1 to 2^m. I didn't see that one. Sorry! I am getting it now. Thanks!

Here lies the reader who will never open this book. He is forever dead.

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 88,957

The point is we only needed a couple of terms to get 41 digits. Continuing that table would have required about 10^20.

**In mathematics, you don't understand things. You just get used to them.**

**Online**

**anonimnystefy****Real Member**- From: The Foundation
- Registered: 2011-05-23
- Posts: 15,606

Yeah, I know. It's a good one. Only about 130 000 is much more doable.

Here lies the reader who will never open this book. He is forever dead.

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 88,957

Romberg is working fine for about 50 digits but for 100 or so another idea is necessary.

**In mathematics, you don't understand things. You just get used to them.**

**Online**

**anonimnystefy****Real Member**- From: The Foundation
- Registered: 2011-05-23
- Posts: 15,606

What do you suggest then?

Here lies the reader who will never open this book. He is forever dead.

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 88,957

I tried shanks, it did not work.

There are 3 areas open yet. Winjgaarden transformation,Euler Mclaurin and the new accelerator I have.

**In mathematics, you don't understand things. You just get used to them.**

**Online**

**anonimnystefy****Real Member**- From: The Foundation
- Registered: 2011-05-23
- Posts: 15,606

Does any of them work on this one?

Here lies the reader who will never open this book. He is forever dead.

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 88,957

I do not know yet, as soon as I finish another problem I will start on this one.

**In mathematics, you don't understand things. You just get used to them.**

**Online**

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 88,957

Hi anonimnystefy;

A simple idea is to make use of the fact:

it is now easy to get 100+ digits.

**In mathematics, you don't understand things. You just get used to them.**

**Online**