1 | initial version |

One possibility to get around this infinite sumation is to use truncation

```
sage: sum(1 / (2^x - 1), x, 1, 10).n()
1.60571827189075
sage: sum(1 / (2^x - 1), x, 1, 30).n()
1.60669515148397
sage: sum(1 / (2^x - 1), x, 1, 100).n()
1.60669515241529
```

Your sum is converging pretty fast. The tail after $n$ is of the order of $2^{-n}$.

2 | No.2 Revision |

One possibility to get around this infinite sumation is to use truncation

```
sage: sum(1 / (2^x - 1), x, 1, 10).n()
1.60571827189075
sage: sum(1 / (2^x - 1), x, 1, 30).n()
1.60669515148397
sage: sum(1 / (2^x - 1), x, 1, 100).n()
1.60669515241529
```

Your sum is converging pretty fast. The tail after $n$ is of the order of ~~$2^{-n}$.~~$2^{-n}$. In particular, since real numbers have a default of 53 bits of precision, the evaluation of the sum is the same at 53 and 100 (but not at 52)

```
sage: sum(1 / (2^x - 1), x, 1, 52).n() == sum(1 / (2^x - 1), x, 1, 100).n()
False
sage: sum(1 / (2^x - 1), x, 1, 53).n() == sum(1 / (2^x - 1), x, 1, 100).n()
True
```

The fact that it is exactly 53 in this case is because the size of the tail is exactly $2^{-n}$... for other sums it might be different. But whatever convergent series you are considering, its numerical evaluation will be constant from a certain point.

Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.