Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
241818 views
1
r"""
2
The diffential operator involved in the definition of the Satoh bracket.
3
4
AUTHORS:
5
6
- Martin Raum (2010 - 03 - 16) Initial version.
7
"""
8
9
#===============================================================================
10
#
11
# Copyright (C) 2010 Martin Raum
12
#
13
# This program is free software; you can redistribute it and/or
14
# modify it under the terms of the GNU General Public License
15
# as published by the Free Software Foundation; either version 3
16
# of the License, or (at your option) any later version.
17
#
18
# This program is distributed in the hope that it will be useful,
19
# but WITHOUT ANY WARRANTY; without even the implied warranty of
20
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
21
# General Public License for more details.
22
#
23
# You should have received a copy of the GNU General Public License
24
# along with this program; if not, see <http://www.gnu.org/licenses/>.
25
#
26
#===============================================================================
27
28
include "interrupt.pxi"
29
include "stdsage.pxi"
30
include "cdefs.pxi"
31
32
cpdef satoh_dz(f, R) :
33
## Satoh's definition of the operation on Siegel modular forms yields
34
## a polynomial substitution x -> dx - cy, y -> -b + ay.
35
## We will need x -> ax + by, y -> cx + dy.
36
## We hence calculate the operator matrix(2, [d z_2, -d z_3 / 2, *, d z_1])
37
38
x = R.gen(0)
39
y = R.gen(1)
40
xsq = x*x
41
xy = x*y
42
ysq = y*y
43
44
res = PY_NEW(dict)
45
res2 = PY_NEW(dict)
46
res3 = PY_NEW(dict)
47
for k in f :
48
res[k] = xsq * (k[2] * f[k]) + xy * (k[1] * f[k]) + ysq * (k[0] * f[k])
49
50
return res
51
52