Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make big_oh notation work for any element that has a big_oh() method #10271

Open
tkluck opened this issue Nov 15, 2010 · 18 comments
Open

Make big_oh notation work for any element that has a big_oh() method #10271

tkluck opened this issue Nov 15, 2010 · 18 comments

Comments

@tkluck
Copy link

tkluck commented Nov 15, 2010

One can use the big-oh notation

O(xn)

when x is a generator of a power series or a laurent series. It is convenient to also be able to use this notation when the parent of x is another ring (for example, a subclass of a power series ring).

The current implementation in rings/big_oh.py imports a large number of types, which slows down the Sage startup. Elements should implement their own big_oh() methods, and the function O(x) should simply call x.big_oh().

Depends on #11726
Depends on #11719

Component: commutative algebra

Keywords: sd32

Work Issues: add doctest

Author: Tom Boothby

Reviewer: Timo Kluck

Issue created by migration from https://trac.sagemath.org/ticket/10271

@tkluck
Copy link
Author

tkluck commented Nov 15, 2010

Attachment: bigoh.patch.gz

patch for sage.rings.big_oh

@tkluck
Copy link
Author

tkluck commented Mar 16, 2011

Attachment: trac_10271_bigoh_extension.patch.gz

@tkluck
Copy link
Author

tkluck commented Mar 16, 2011

comment:2

I just added the patch in the right format, i.e. the output of hg_sage.export() instead of a normal diff.

@sagetrac-mariah

This comment has been minimized.

@sagetrac-mariah
Copy link
Mannequin

sagetrac-mariah mannequin commented Jun 16, 2011

Reviewer: Mariah Lenox

@sagetrac-mariah
Copy link
Mannequin

sagetrac-mariah mannequin commented Jun 16, 2011

comment:4

Applied patch to sage-4.7.1.alpha2, did 'sage -b', then 'make testlong'. All tests passed. Positive review!

@sagetrac-mariah sagetrac-mariah mannequin added this to the sage-4.7.1 milestone Jun 16, 2011
@jdemeyer
Copy link

comment:5

I think this patch needs an extra doctest to demonstrate what it does and that it works as expected.

@jdemeyer
Copy link

Work Issues: add doctest

@williamstein
Copy link
Contributor

comment:6

The following behavior is bad. In both cases, I think one should get an error.

sage: R.<x> = QQ[[]]
sage: O(1+x^10)
O(x^10)
sage: f = x*(1/x + x^9); type(f)
<type 'sage.rings.laurent_series_ring_element.LaurentSeries'>
sage: O(f)
O(x^0)

@boothby

This comment has been minimized.

@boothby boothby assigned boothby and unassigned malb Aug 23, 2011
@boothby boothby changed the title Make big_oh notation work for any element that has degree() and add_bigoh() properties Make big_oh notation work for any element that has a big_oh() method Aug 23, 2011
@williamstein
Copy link
Contributor

comment:9

Tom Boothby is currently working on this. See also #11726 and #11729.

@williamstein
Copy link
Contributor

Changed keywords from none to sd32

@boothby
Copy link

boothby commented Aug 25, 2011

Changed author from Timo Kluck to Tom Boothby

@boothby
Copy link

boothby commented Aug 25, 2011

Dependencies: #11726, #11719

@boothby
Copy link

boothby commented Aug 25, 2011

apply only this patch

@boothby
Copy link

boothby commented Aug 25, 2011

comment:12

Attachment: trac_10271.patch.gz

@tkluck
Copy link
Author

tkluck commented Dec 23, 2012

comment:13

I could have reviewed this sooner, sorry about that. However, the ticket's dependencies are still open, so maybe we should still wait for them to be accepted?

This doesn't apply to v5.4 anymore. I also couldn't easily fix that myself. I'll set the status to needs_work.

@tkluck
Copy link
Author

tkluck commented Dec 23, 2012

Changed reviewer from Mariah Lenox to Timo Kluck

@jdemeyer jdemeyer modified the milestones: sage-5.11, sage-5.12 Aug 13, 2013
@sagetrac-vbraun-spam sagetrac-vbraun-spam mannequin modified the milestones: sage-6.1, sage-6.2 Jan 30, 2014
@sagetrac-vbraun-spam sagetrac-vbraun-spam mannequin modified the milestones: sage-6.2, sage-6.3 May 6, 2014
@sagetrac-vbraun-spam sagetrac-vbraun-spam mannequin modified the milestones: sage-6.3, sage-6.4 Aug 10, 2014
@mkoeppe mkoeppe removed this from the sage-6.4 milestone Dec 29, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants