Opened 8 years ago
Last modified 3 years ago
#10084 needs_work defect
Lazy power series are created with incorrect order
Reported by: | schilly | Owned by: | sage-combinat |
---|---|---|---|
Priority: | major | Milestone: | sage-6.4 |
Component: | combinatorics | Keywords: | LazyPowerSeries |
Cc: | axel.bacher@…, mhansen, mantepse | Merged in: | |
Authors: | Mike Hansen | Reviewers: | |
Report Upstream: | N/A | Work issues: | |
Branch: | Commit: | ||
Dependencies: | Stopgaps: | todo |
Description
Reported by the "Report a Problem" Form:
When typing the following:
S = LazyPowerSeriesRing(ZZ) one = S(0) + S(1) one.order
I get a "Infinite series order" message. When asking for
one.coefficients(3)
I get "[0, 0, 0]".
Looking into the code sage/combinat/species/series.py, the _add_ method calls the _new method to create the sum series. Trying:
zero = S(0) test_series = zero._new(lambda ao: Stream(const=1), lambda: 0) test_series.order test_series.coefficients(3)
I again get "Infinite series order" and "[0, 0, 0]".
As I understand it, the _new() method calls the init() method of LazyPowerSeries in the line:
new_fps = self.__class__(parent, stream=None, order=unk, aorder=self.aorder, aorder_changed=True, is_initialized=False)
If the value self.aorder is inf, this puts new_fps.aorder to inf, which (in the init() code), also puts new_fps.order to inf, which makes Sage think that the series has infinite order.
Changing the argument aorder=self.aorder to aorder=unk in the above line solved the problem. The sum of S(0) and S(1) should have order zero, and its first three coefficients should be [1, 0, 0].
The series test_series should also have order zero, and its coefficients should be [1, 1, 1].
Attachments (1)
Change History (11)
comment:1 Changed 8 years ago by
- Cc mhansen added
- Component changed from symbolics to combinatorics
- Owner changed from burcin to sage-combinat
Changed 7 years ago by
comment:2 Changed 7 years ago by
- Status changed from new to needs_review
comment:3 Changed 7 years ago by
- Status changed from needs_review to needs_work
comment:4 Changed 6 years ago by
- Milestone changed from sage-5.11 to sage-5.12
comment:5 Changed 5 years ago by
- Cc mantepse added
- Keywords LazyPowerSeries added
comment:6 Changed 5 years ago by
comment:7 Changed 5 years ago by
- Milestone changed from sage-6.1 to sage-6.2
comment:8 Changed 5 years ago by
- Milestone changed from sage-6.2 to sage-6.3
comment:9 Changed 5 years ago by
- Milestone changed from sage-6.3 to sage-6.4
comment:10 Changed 3 years ago by
- Stopgaps set to todo
A fix is in #15673