本文整理汇总了Python中sage.rings.power_series_ring.PowerSeriesRing._first_ngens方法的典型用法代码示例。如果您正苦于以下问题:Python PowerSeriesRing._first_ngens方法的具体用法?Python PowerSeriesRing._first_ngens怎么用?Python PowerSeriesRing._first_ngens使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类sage.rings.power_series_ring.PowerSeriesRing
的用法示例。
在下文中一共展示了PowerSeriesRing._first_ngens方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __dimension_Sp6Z
# 需要导入模块: from sage.rings.power_series_ring import PowerSeriesRing [as 别名]
# 或者: from sage.rings.power_series_ring.PowerSeriesRing import _first_ngens [as 别名]
def __dimension_Sp6Z(wt):
"""
Return the dimensions of subspaces of Siegel modular forms on $Sp(6,Z)$.
OUTPUT
("Total", "Miyawaki-Type-1", "Miyawaki-Type-2 (conjectured)", "Interesting")
Remember, Miywaki type 2 is ONLY CONJECTURED!!
"""
if not is_even(wt):
return (0, 0, 0, 0)
R = PowerSeriesRing(IntegerRing(), default_prec=wt + 1, names=('x',))
(x,) = R._first_ngens(1)
S = PowerSeriesRing(IntegerRing(), default_prec=max(2 * wt - 1,1), names=('y',))
(y,) = S._first_ngens(1)
H_all = 1 / ((1 - x ** 4) * (1 - x ** 12) ** 2 * (1 - x ** 14) * (1 - x ** 18) *
(1 - x ** 20) * (1 - x ** 30)) * (
1 + x ** 6 + x ** 10 + x ** 12 + 3 * x ** 16 + 2 * x ** 18 + 2 * x ** 20 +
5 * x ** 22 + 4 * x ** 24 + 5 * x ** 26 + 7 * x ** 28 + 6 * x ** 30 + 9 * x ** 32 +
10 * x ** 34 + 10 * x ** 36 + 12 * x ** 38 + 14 * x ** 40 + 15 * x ** 42 + 16 * x ** 44 +
18 * x ** 46 + 18 * x ** 48 + 19 * x ** 50 + 21 * x ** 52 + 19 * x ** 54 + 21 * x ** 56 +
21 * x ** 58 + 19 * x ** 60 + 21 * x ** 62 + 19 * x ** 64 + 18 * x ** 66 + 18 * x ** 68 +
16 * x ** 70 + 15 * x ** 72 + 14 * x ** 74 + 12 * x ** 76 + 10 * x ** 78 + 10 * x ** 80 +
9 * x ** 82 + 6 * x ** 84 + 7 * x ** 86 + 5 * x ** 88 + 4 * x ** 90 + 5 * x ** 92 +
2 * x ** 94 + 2 * x ** 96 + 3 * x ** 98 + x ** 102 + x ** 104 + x ** 108 + x ** 114)
H_noncusp = 1 / (1 - x ** 4) / (1 - x ** 6) / (1 - x ** 10) / (1 - x ** 12)
H_E = y ** 12 / (1 - y ** 4) / (1 - y ** 6)
H_Miyawaki1 = H_E[wt] * H_E[2 * wt - 4]
H_Miyawaki2 = H_E[wt - 2] * H_E[2 * wt - 2]
a, b, c, d = H_all[wt], H_noncusp[wt], H_Miyawaki1, H_Miyawaki2
return (a, c, d, a - b - c - d)
示例2: _dimension_Sp4Z
# 需要导入模块: from sage.rings.power_series_ring import PowerSeriesRing [as 别名]
# 或者: from sage.rings.power_series_ring.PowerSeriesRing import _first_ngens [as 别名]
def _dimension_Sp4Z( wt_range):
"""
Return the dimensions of subspaces of Siegel modular forms on $Sp(4,Z)$.
OUTPUT
("Total", "Eisenstein", "Klingen", "Maass", "Interesting")
"""
headers = ['Total', 'Eisenstein', 'Klingen', 'Maass', 'Interesting']
R = PowerSeriesRing( IntegerRing(), default_prec = wt_range[-1] + 1, names = ('x',))
(x,) = R._first_ngens(1)
H_all = 1 / (1 - x ** 4) / (1 - x ** 6) / (1 - x ** 10) / (1 - x ** 12)
H_Kl = x ** 12 / (1 - x ** 4) / (1 - x ** 6)
H_MS = (x ** 10 + x ** 12) / (1 - x ** 4) / (1 - x ** 6)
dct = dict( (k,
{ 'Total': H_all[k],
'Eisenstein': 1 if k >= 4 else 0,
'Klingen': H_Kl[k],
'Maass': H_MS[k],
'Interesting': H_all[k]-(1 if k >= 4 else 0)-H_Kl[k]-H_MS[k]
}
if is_even(k) else
{ 'Total': H_all[k-35],
'Eisenstein': 0,
'Klingen': 0,
'Maass': 0,
'Interesting': H_all[k-35]
}
) for k in wt_range)
return headers, dct
示例3: _dimension_Gamma0_4_half
# 需要导入模块: from sage.rings.power_series_ring import PowerSeriesRing [as 别名]
# 或者: from sage.rings.power_series_ring.PowerSeriesRing import _first_ngens [as 别名]
def _dimension_Gamma0_4_half(k):
"""
Return the dimensions of subspaces of Siegel modular forms$Gamma0(4)$
of half integral weight k - 1/2.
INPUT
The realweight is k-1/2
OUTPUT
('Total', 'Non cusp', 'Cusp')
REMARK
Note that formula from Hayashida's and Ibukiyama's paper has formula
that coefficient of x^w is for weight (w+1/2). So here w=k-1.
"""
R = PowerSeriesRing(IntegerRing(), default_prec=k, names=("x",))
(x,) = R._first_ngens(1)
H_all = 1 / (1 - x) / (1 - x ** 2) ** 2 / (1 - x ** 3)
H_cusp = (
(2 * x ** 5 + x ** 7 + x ** 9 - 2 * x ** 11 + 4 * x ** 6 - x ** 8 + x ** 10 - 3 * x ** 12 + x ** 14)
/ (1 - x ** 2) ** 2
/ (1 - x ** 6)
)
a, c = H_all[k - 1], H_cusp[k - 1]
return (a, a - c, c)
示例4: _dimension_Gamma0_4
# 需要导入模块: from sage.rings.power_series_ring import PowerSeriesRing [as 别名]
# 或者: from sage.rings.power_series_ring.PowerSeriesRing import _first_ngens [as 别名]
def _dimension_Gamma0_4(wt):
"""
Return the dimensions of subspaces of Siegel modular forms on $Gamma0(4)$.
OUTPUT
( "Total",)
REMARK
Not completely implemented
"""
R = PowerSeriesRing(IntegerRing(), default_prec=wt + 1, names=("x",))
(x,) = R._first_ngens(1)
H_all = (1 + x ** 4)(1 + x ** 11) / (1 - x ** 2) ** 3 / (1 - x ** 6)
return (H_all[wt],)
示例5: _dimension_Gamma0_3
# 需要导入模块: from sage.rings.power_series_ring import PowerSeriesRing [as 别名]
# 或者: from sage.rings.power_series_ring.PowerSeriesRing import _first_ngens [as 别名]
def _dimension_Gamma0_3(wt):
"""
Return the dimensions of subspaces of Siegel modular forms on $Gamma0(3)$.
OUTPUT
( "Total")
REMARK
Only total dimension implemented.
"""
R = PowerSeriesRing( IntegerRing(), default_prec = wt + 1, names=('x',))
(x,) = R._first_ngens(1)
H_all = (1 + 2 * x ** 4 + x ** 6 + x ** 15 * (1 + 2 * x ** 2 + x ** 6)) / (1 - x ** 2) / (1 - x ** 4) / (1 - x ** 6) ** 2
return ( H_all[wt],)
示例6: _dimension_Gamma0_4_psi_4
# 需要导入模块: from sage.rings.power_series_ring import PowerSeriesRing [as 别名]
# 或者: from sage.rings.power_series_ring.PowerSeriesRing import _first_ngens [as 别名]
def _dimension_Gamma0_4_psi_4(wt):
"""
Return the dimensions of subspaces of Siegel modular forms
on $Gamma_0(4)$
with character $\psi_4$.
OUTPUT
( "Total")
REMARK
The formula for odd weights is unknown or not obvious from the paper.
"""
R = PowerSeriesRing(IntegerRing(), default_prec=wt + 1, names=("x",))
(x,) = R._first_ngens(1)
H_all_even = (x ** 12 + x ** 14) / (1 - x ** 2) ** 3 / (1 - x ** 6)
if is_even(wt):
return (H_all_even[wt],)
else:
raise NotImplementedError("Dimensions of $M_{k}(\Gamma_0(4), \psi_4)$ for odd $k$ not implemented")
示例7: _dimension_Gamma0_3_psi_3
# 需要导入模块: from sage.rings.power_series_ring import PowerSeriesRing [as 别名]
# 或者: from sage.rings.power_series_ring.PowerSeriesRing import _first_ngens [as 别名]
def _dimension_Gamma0_3_psi_3(wt):
"""
Return the dimensions of the space of Siegel modular forms
on $Gamma_0(3)$ with character $\psi_3$.
OUTPUT
( "Total")
REMARK
Not completely implemented
"""
R = PowerSeriesRing(IntegerRing(), default_prec=wt + 1, names=("x",))
(x,) = R._first_ngens(1)
B = 1 / (1 - x ** 1) / (1 - x ** 3) / (1 - x ** 4) / (1 - x ** 3)
H_all_odd = B
H_all_even = B * x ** 14
if is_even(wt):
return (H_all_even[wt],)
else:
return (H_all_odd[wt],)