Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
eb3a270
sage.structure.element: Add ABCs Polynomial, MPolynomial, use for isi…
mkoeppe Dec 6, 2022
6696f5c
Use ABC MPolynomial for isinstance testing
mkoeppe Dec 6, 2022
79f7e62
Fixups
mkoeppe Dec 6, 2022
ed050bb
sage.rings.polynomial: Make it a namespace package
mkoeppe Dec 6, 2022
0613280
sage.structure.element: Introduce common base class CommutativePolyno…
mkoeppe Jan 7, 2023
27e8889
sage.structure.element: Introduce ABC InfinitePolynomial
mkoeppe Jan 7, 2023
57228f5
src/sage/structure/element.pyx: Update hierarchy in documentation
mkoeppe Jan 7, 2023
95e0adc
src/sage/structure/element.pyx: Add unique-direct-subclass tests
mkoeppe Jan 7, 2023
1fd625c
src/sage/structure/element.pyx: Add unique-direct-subclass test for E…
mkoeppe Jan 7, 2023
960506b
InfinitePolynomial: Change from constructor function to base class wi…
mkoeppe Jan 18, 2023
fd54c82
Remove ABCs sage.structure.element.*Polynomial; introduce ABCs in sag…
mkoeppe Jan 18, 2023
538c2a7
Replace use of implementation class from multi_polynomial_libsingular…
mkoeppe Jan 23, 2023
0fcb6fb
src/sage/rings/polynomial/commutative_polynomial.pyx: Add doctests
mkoeppe Jan 23, 2023
6e2adaf
InfinitePolynomial: Move _lmul_, _rmul_ here from subclasses
mkoeppe Jan 25, 2023
cdab0df
InfinitePolynomial.__classcall_private__: Add doctest
mkoeppe Jan 25, 2023
f7e9f41
Merge tag '9.8' into t/32709/sage_structure_element__add_abcs_polynom…
mkoeppe Feb 11, 2023
e06e582
src/sage/rings/polynomial/infinite_polynomial_element.py: Use Infinit…
mkoeppe Feb 12, 2023
6b557c0
Merge tag '10.0.beta0' into t/32709/sage_structure_element__add_abcs_…
mkoeppe Feb 13, 2023
8f5b799
src/sage/combinat/schubert_polynomial.py: Use isinstance(..., Infinit…
mkoeppe Feb 13, 2023
2d32a2e
Merge branch 'develop' into t/32709/sage_structure_element__add_abcs_…
mkoeppe Feb 13, 2023
95b8793
Merge branch 'develop' into t/32709/sage_structure_element__add_abcs_…
mkoeppe Feb 14, 2023
488a8b1
Merge branch 'develop' into t/32709/sage_structure_element__add_abcs_…
mkoeppe Feb 19, 2023
ffb4647
src/sage/rings/polynomial/polynomial_element.pyx: Update doctest outp…
mkoeppe Feb 20, 2023
2993660
Merge remote-tracking branch 'upstream/develop' into t/32709/sage_str…
mkoeppe Mar 3, 2023
3b65350
src/sage/quadratic_forms/quadratic_form.py: Replace use of deprecated…
mkoeppe Mar 3, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
sage.structure.element: Introduce ABC InfinitePolynomial
  • Loading branch information
Matthias Koeppe committed Jan 22, 2023
commit 27e888972fb6df6db5fd28ea8a1a5c276417796c
5 changes: 2 additions & 3 deletions src/sage/rings/polynomial/infinite_polynomial_element.py
Original file line number Diff line number Diff line change
Expand Up @@ -91,10 +91,9 @@

from sage.rings.integer_ring import ZZ
from sage.rings.integer import Integer
from sage.structure.element import RingElement
from sage.structure.richcmp import richcmp
from sage.misc.cachefunc import cached_method
from sage.structure.element import MPolynomial
from sage.structure.element import RingElement, MPolynomial, InfinitePolynomial as InfinitePolynomial_base
import copy


Expand Down Expand Up @@ -206,7 +205,7 @@ def InfinitePolynomial(A, p):
return InfinitePolynomial_sparse(A, p)


class InfinitePolynomial_sparse(RingElement):
class InfinitePolynomial_sparse(InfinitePolynomial_base):
"""
Element of a sparse Polynomial Ring with a Countably Infinite Number of Variables.

Expand Down
14 changes: 13 additions & 1 deletion src/sage/structure/element.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -4295,7 +4295,10 @@ cdef class CommutativeAlgebraElement(CommutativeRingElement):

cdef class CommutativePolynomial(CommutativeAlgebraElement):
r"""
Abstract base class, common base for :class:`Polynomial` and :class:`MPolynomial`
Abstract base class for commutative polynomials in any number of variables

It is a common base for :class:`Polynomial`, :class:`MPolynomial`, and
:class:`InfinitePolynomial`.
"""

pass
Expand All @@ -4320,6 +4323,15 @@ cdef class MPolynomial(CommutativePolynomial):

##############################################

cdef class InfinitePolynomial(CommutativePolynomial):
r"""
Abstract base class for :class:`~sage.rings.polynomial.infinite_polynomial_element.InfinitePolynomial_sparse`
"""

pass

##############################################

def is_InfinityElement(x):
"""
Return ``True`` if x is of type InfinityElement.
Expand Down