Opened 9 years ago

Last modified 4 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)

trac_10084-lazy_power_series_order-mh.patch (2.6 KB) - added by mhansen 7 years ago.

Download all attachments as: .zip

Change History (11)

comment:1 Changed 9 years ago by burcin

  • Cc mhansen added
  • Component changed from symbolics to combinatorics
  • Owner changed from burcin to sage-combinat

Changed 7 years ago by mhansen

comment:2 Changed 7 years ago by mhansen

  • Authors set to Mike Hansen
  • Status changed from new to needs_review

comment:3 Changed 7 years ago by mhansen

  • Status changed from needs_review to needs_work

comment:4 Changed 6 years ago by jdemeyer

  • Milestone changed from sage-5.11 to sage-5.12

comment:5 Changed 5 years ago by mantepse

  • Cc mantepse added
  • Keywords LazyPowerSeries added

comment:6 Changed 5 years ago by mhansen

A fix is in #15673

comment:7 Changed 5 years ago by vbraun_spam

  • Milestone changed from sage-6.1 to sage-6.2

comment:8 Changed 5 years ago by vbraun_spam

  • Milestone changed from sage-6.2 to sage-6.3

comment:9 Changed 5 years ago by vbraun_spam

  • Milestone changed from sage-6.3 to sage-6.4

comment:10 Changed 4 years ago by jakobkroeker

  • Stopgaps set to todo
Note: See TracTickets for help on using tickets.