1 | initial version |

What is the expectation?

Default precision has an other sense here... For instance:

```
sage: R.<q>=LaurentSeriesRing(QQ, default_prec=10)
sage: R(q^100)
q^100
sage: R(q^100)/R(1+q)
q^100 - q^101 + q^102 - q^103 + q^104 - q^105 + q^106 - q^107 + q^108 - q^109 + O(q^110)
sage: R(q^-100)/R(1+q)
q^-100 - q^-99 + q^-98 - q^-97 + q^-96 - q^-95 + q^-94 - q^-93 + q^-92 - q^-91 + O(q^-90)
```

The word default precision tells just how many significant terms should be computed and shown.
It is not about an ideal, computations may show `O(q^110)`

. Which is not `O(q^10)`

.

The initialization of an element of the ring is an other story, and sage assume the user knows what makes sense, and what not.

So `q^2 + O(q)`

simply makes no sense. The error `ValueError: prec (= -1) must be non-negative`

is telling enough. Same for
`q^2017 + O(q)`

where the error is of course `ValueError: prec (= -2016) must be non-negative`

.

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.