Toggle navigation
Egison
Documentations
Try It Out
Online Tools
Online Egison Interpreter
Online Egison Tutorial
Online Demonstrations
Poker Hands
Mahjong
Prime Numbers
Trees
Graph (Bellman-Ford Algorithm)
Randomized 3-SAT
Time-Series Data
Math
Blog
Community
Hodge Operator of Minkowski Space
Nov 20 2017
-- -- Hodge star operator in Minkowski spacetime -- def N : Integer := 4 def params : Vector MathExpr := [|t, x, y, z|] def g : Matrix MathExpr := [|[|-1, 0, 0, 0|], [|0, 1, 0, 0|], [|0, 0, 1, 0|], [|0, 0, 0, 1|]|] def hodge (A: DiffForm MathExpr) : DiffForm MathExpr := let k := dfOrder A in withSymbols [i, j] sqrt (abs (M.det g_#_#)) * foldl (.) ((ε' N k)_(i_1)..._(i_N) . A..._(j_1)..._(j_k)) (map (\n -> g~(i_n)~(j_n)) (between 1 k)) def dt : DiffForm MathExpr := [|1, 0, 0, 0|] def dx : DiffForm MathExpr := [|0, 1, 0, 0|] def dy : DiffForm MathExpr := [|0, 0, 1, 0|] def dz : DiffForm MathExpr := [|0, 0, 0, 1|] assertEqual "Hodge star of dt ∧ dx" (hodge (wedge dt dx)) [| [| 0, 0, 0, 0 |], [| 0, 0, 0, 0 |], [| 0, 0, 0, 1 |], [| 0, 0, -1, 0 |] |] assertEqual "Hodge star of dy ∧ dz" (hodge (wedge dy dz)) [| [| 0, 1, 0, 0 |], [| -1, 0, 0, 0 |], [| 0, 0, 0, 0 |], [| 0, 0, 0, 0 |] |]
Links
Back to the Table of Contents
This website in other langauge:
English
,
日本語