Skip to content
This repository was archived by the owner on Jan 30, 2023. It is now read-only.

Commit 2761f34

Browse files
committed
small enhancements in MZV
1 parent 12be2d9 commit 2761f34

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

src/sage/modular/multiple_zeta.py

+36
Original file line numberDiff line numberDiff line change
@@ -814,6 +814,19 @@ def some_elements(self):
814814
"""
815815
return self([]), self([2]), self([3]), self([4]), self((1, 2))
816816

817+
def an_element(self):
818+
r"""
819+
Return an element of the algebra.
820+
821+
EXAMPLES::
822+
823+
sage: M = Multizetas(QQ)
824+
sage: M.an_element()
825+
ζ() + ζ(1,2) + 1/2*ζ(5)
826+
"""
827+
cf = self.base_ring().an_element()
828+
return self([]) + self([1, 2]) + cf * self([5])
829+
817830
def product_on_basis(self, w1, w2):
818831
r"""
819832
Compute the product of two monomials.
@@ -1790,6 +1803,29 @@ def D_on_basis(self, k, w):
17901803
coprod += left.regularise().tensor(right.regularise())
17911804
return coprod
17921805

1806+
def D(self, k):
1807+
"""
1808+
Return the operator `D_k`.
1809+
1810+
INPUT:
1811+
1812+
- ``k`` -- an odd integer, at least 3
1813+
1814+
EXAMPLES::
1815+
1816+
sage: from sage.modular.multiple_zeta import Multizetas_iterated
1817+
sage: M = Multizetas_iterated(QQ)
1818+
sage: D3 = M.D(3)
1819+
sage: elt = M((1,0,1,0,0)) + 2 * M((1,1,0,0,1,0))
1820+
sage: D3(elt)
1821+
-6*I(100) # I(110) + 3*I(100) # I(10)
1822+
"""
1823+
def map_on_basis(elt):
1824+
return self.D_on_basis(k, elt)
1825+
cod = Multizetas_iterated(self.base_ring()).tensor_square()
1826+
return self.module_morphism(map_on_basis, position=0,
1827+
codomain=cod)
1828+
17931829
@cached_method
17941830
def phi_extended(self, w):
17951831
r"""

0 commit comments

Comments
 (0)