SAGEを使用して、合同部分群$ \ガンマ(N)$、$ \ガンマ1(N)$などの楕円点を探したいと思います。私はMAGMA(EllipticPoints(G))に単純な関数があることを知っていますが、SAGEで何か類似のものを見つけることはできません。助言がありますか?SAGEの楕円点
Q
SAGEの楕円点
2
A
答えて
1
セージは、モジュラーグループの合同サブグループを定義するために、関数Gamma
、Gamma0
、Gamma1
を持っています。そのようなグループを考える
、方法nu2
とnu3
オーダー2の、このグループの順序3の 楕円点の数を与えます。
sage: G = Gamma0(13)
sage: G.nu2()
2
sage: G.nu3()
2
方法ncusps
、index
、genus
はカスプ、 インデックス、合同グループの属の数を与えます。 https://magma.maths.usyd.edu.au/magma/handbook/text/1554:
sage: G.ncusps()
2
sage: G.index()
14
sage: G.genus()
0
あなたが参照しているマグマのドキュメントには、このかもしれません。
この場合、 上半平面の実際の楕円点が必要です。ここにそれらを得る方法があります。
関数elliptic_points
を次のように定義します。
def elliptic_points(G):
F = FareySymbol(G)
P = F.pairings()
if all(n > 0 for n in P):
return []
M = F.pairing_matrices()
ell = []
for k, n in enumerate(P):
if n < 0:
a, b, c, d = list(M[k])
R.<x> = QQbar[]
p = c*x^2 + (d-a)*x - b
for r in p.roots(multiplicities=False):
if r.imag() > 0:
ell.append(r)
return ell
その後、次の作品:
sage: G = Gamma0(13)
sage: ell = elliptic_points(G)
sage: ell
[0.2692307692307693? + 0.06661733875264913?*I,
0.3846153846153846? + 0.07692307692307692?*I,
0.6153846153846154? + 0.07692307692307692?*I,
0.7307692307692308? + 0.06661733875264913?*I]
sage: for p in ell:
....: print p.radical_expression()
....:
1/26*I*sqrt(3) + 7/26
1/13*I + 5/13
1/13*I + 8/13
1/26*I*sqrt(3) + 19/26
私は、既存のセージコードでこの関数を見つけることができませんでした。 追加する価値があります。
関連する問題
- 1. 楕円曲線点
- 2. 中心楕円の起点
- 3. 2つの楕円(楕円)の交点の面積ですか?
- 4. セージの楕円曲線上のデカルト点
- 5. 楕円上の点を計算する
- 6. 高速楕円体交点アルゴリズム
- 7. 楕円のラスタライズ
- 8. 楕円の同心円リング
- 9. 円と楕円のラスタライゼーションアルゴリズム
- 10. 楕円バイナリマスク
- 11. アニメーション楕円サイズ
- 12. 楕円が
- 13. は楕円
- 14. 楕円体のプロット
- 15. 散乱点からの楕円の評価/フィッティング
- 16. 3Dの楕円軌道上の点を計算する
- 17. Find C++の点集合を囲む楕円の最小部分
- 18. plot楕円の点の割合を囲む
- 19. C#WPF楕円スライダー
- 20. Androidビットマップクロップ楕円形
- 21. AndroidのOpenGLの円(球)楕円..
- 22. 楕円軌跡上の円のsvgアニメーション
- 23. 楕円弧の点を計算する方法
- 24. 3点を通る楕円の方程式は?
- 25. WPFは楕円形のアニメーションを点滅します
- 26. C++の楕円へのパラメータ
- 27. 楕円ストロークの背景色
- 28. WPFのTextBlockオーバーラップ楕円
- 29. OSGの楕円と球
- 30. Javaのループ内楕円