You are not logged in.

- Topics: Active | Unanswered

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 97,324

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.**

**If it ain't broke, fix it until it is.**

Offline

**anonimnystefy****Real Member**- From: Harlan's World
- Registered: 2011-05-23
- Posts: 15,937

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

The knowledge of some things as a function of age is a delta function.

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 97,324

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.**

**If it ain't broke, fix it until it is.**

Offline

**anonimnystefy****Real Member**- From: Harlan's World
- Registered: 2011-05-23
- Posts: 15,937

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

The knowledge of some things as a function of age is a delta function.

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 97,324

Did you write it?

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

**If it ain't broke, fix it until it is.**

Offline

**anonimnystefy****Real Member**- From: Harlan's World
- Registered: 2011-05-23
- Posts: 15,937

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

The knowledge of some things as a function of age is a delta function.

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 97,324

That Romberg or all of Shakespeare?

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

**If it ain't broke, fix it until it is.**

Offline

**anonimnystefy****Real Member**- From: Harlan's World
- Registered: 2011-05-23
- Posts: 15,937

I wrote the romberg function. Why?

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

The knowledge of some things as a function of age is a delta function.

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 97,324

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.**

**If it ain't broke, fix it until it is.**

Offline

**anonimnystefy****Real Member**- From: Harlan's World
- Registered: 2011-05-23
- Posts: 15,937

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)*

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

The knowledge of some things as a function of age is a delta function.

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 97,324

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.**

**If it ain't broke, fix it until it is.**

Offline

**anonimnystefy****Real Member**- From: Harlan's World
- Registered: 2011-05-23
- Posts: 15,937

```
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)*

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

The knowledge of some things as a function of age is a delta function.

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 97,324

Sequence acceleration has rules and the tail does not apply.

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

**If it ain't broke, fix it until it is.**

Offline

**anonimnystefy****Real Member**- From: Harlan's World
- Registered: 2011-05-23
- Posts: 15,937

Could you elaborate?

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

The knowledge of some things as a function of age is a delta function.

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 97,324

Notice how I constructed s.

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

**If it ain't broke, fix it until it is.**

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 97,324

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.**

**If it ain't broke, fix it until it is.**

Offline

**anonimnystefy****Real Member**- From: Harlan's World
- Registered: 2011-05-23
- Posts: 15,937

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

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

The knowledge of some things as a function of age is a delta function.

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 97,324

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.**

**If it ain't broke, fix it until it is.**

Offline

**anonimnystefy****Real Member**- From: Harlan's World
- Registered: 2011-05-23
- Posts: 15,937

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

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

The knowledge of some things as a function of age is a delta function.

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 97,324

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.**

**If it ain't broke, fix it until it is.**

Offline

**anonimnystefy****Real Member**- From: Harlan's World
- Registered: 2011-05-23
- Posts: 15,937

What do you suggest then?

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

The knowledge of some things as a function of age is a delta function.

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 97,324

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.**

**If it ain't broke, fix it until it is.**

Offline

**anonimnystefy****Real Member**- From: Harlan's World
- Registered: 2011-05-23
- Posts: 15,937

Does any of them work on this one?

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

The knowledge of some things as a function of age is a delta function.

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 97,324

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.**

**If it ain't broke, fix it until it is.**

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 97,324

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.**

**If it ain't broke, fix it until it is.**

Offline