Skip to content
Merged
Changes from all commits
Commits
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
18 changes: 18 additions & 0 deletions src/sage/combinat/key_polynomial.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
# ****************************************************************************

from sage.categories.graded_algebras_with_basis import GradedAlgebrasWithBasis
from sage.misc.cachefunc import cached_method
from sage.combinat.integer_vector import IntegerVectors
from sage.combinat.free_module import CombinatorialFreeModule
from sage.combinat.permutation import Permutation
Expand Down Expand Up @@ -558,6 +559,7 @@ def __getitem__(self, c):
c = C(c)
return self._monomial(c)

@cached_method
def one_basis(self):
r"""
Return the basis element indexing the identity.
Expand All @@ -576,6 +578,22 @@ def one_basis(self):
return self._indices([0] * self._k)
return self._indices([])

def degree_on_basis(self, alpha):
"""
Return the degree of the basis element indexed by ``alpha``.

EXAMPLES::

sage: k = KeyPolynomials(QQ)
sage: k.degree_on_basis([2,1,0,2])
5

sage: k = KeyPolynomials(QQ, 5)
sage: k.degree_on_basis([2,1,0,2,0])
5
"""
return ZZ(sum(alpha))

def polynomial_ring(self):
r"""
Return the polynomial ring associated to ``self``.
Expand Down