Toggle navigation
Egison
ドキュメント
デモ
オンライン・デモ
ポーカーの役判定
麻雀の上がり判定
双子素数の列挙
ツリー
グラフ
3-SATを解く乱択アルゴリズム
時系列データ解析
オンライン・ツール
オンライン Egison
オンライン・チュートリアル
数式処理
ブログ
コミュニティ
`T^2`のオイラー形式
2017年11月9日
以下のプログラムは`T^2`のオイラー形式を計算しています。
`e(T T^2) = 1/(4pi) (Omega_(i_2)^(i_1) - Omega_(i_1)^(i_2))`
-- Euler form of T2 (Torus) def x := [| θ, φ |] def X := [| '(a * cos θ + b) * cos φ, '(a * cos θ + b) * sin φ, a * sin θ |] -- Local basis def e_i_j : Matrix MathExpr := ∂/∂ X_j x~i -- Metric tensor def g_i_j := generateTensor (\[a, b] -> V.* e_a e_b) [2, 2] def g~i~j := M.inverse g_#_# assertEqual "Metric tensor" g_#_# [| [| a^2, 0 |], [| 0, '(a * cos θ + b)^2 |] |]_#_# -- Christoffel symbols def Γ_i_j_k := (1 / 2) * (∂/∂ g_i_k x~j + ∂/∂ g_i_j x~k - ∂/∂ g_j_k x~i) def Γ~i_j_k := withSymbols [m] g~i~m . Γ_m_j_k -- Connection 1-form def ω0 := Γ~#_#_# -- Vielbein def A := [| [| 1 / a, 0 |], [| 0, 1 / '(a * cos θ + b) |] |] -- Transformed connection def d A := (flip ∂/∂) x~# A_#_# def ω := withSymbols [i, j, k, l] (M.inverse A)~i_j . ω0~j_k . A~k_l + (M.inverse A)~i_j . d A~j_l -- Curvature form def wedge X Y := X !. Y def Ω := withSymbols [i, j, k] dfNormalize (d ω~i_j + wedge ω~i_k ω~k_j) -- Euler form def eulerForm := (1 / (2 * π)) * (Ω~1_2 - Ω~2_1) -- The Euler form integrates to the Euler characteristic χ = 0 for T² assertEqual "Euler form of T2" eulerForm [| [| cos θ / ('(a * cos θ + b) * a * π), 0 |], [| 0, cos θ / ('(a * cos θ + b) * a * π) |] |]
リンク
Egison 数学ノート目次に戻る
This website in other langauge:
English
,
日本語