egison-4.2.0: sample/math/geometry/yang-mills-equation-of-U1-gauge-theory.egi
--
-- This file has been auto-generated by egison-translator.
--
def N := 4
def g := [|[|-1, 0, 0, 0|], [|0, 1, 0, 0|], [|0, 0, 1, 0|], [|0, 0, 0, 1|]|]
def d X :=
WedgeApplyExpr (ApplyExpr (VarExpr "flip") [VarExpr "\8706/\8706"]) [VectorExpr [VarExpr "t",VarExpr "x",VarExpr "y",VarExpr "z"],VarExpr "X"]
def hodge A :=
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 1#g~(i_%1)~(j_%1) (between 1 k))
def δ A :=
let r := dfOrder A
in (-1) ^ (N * r + 1) * hodge (d (hodge A))
def Δ A :=
match dfrOrder A as integer with
| #0 -> δ (d A)
| #4 -> d (δ A)
| _ -> d (δ A) + δ (d A)
def normalize2 A := withSymbols [t1, t2] A_t1_t2 - A_t2_t1
hodge (wedge [|1, 0, 0, 0|] [|0, 1, 0, 0|])
hodge (wedge [|0, 0, 1, 0|] [|0, 0, 0, 1|])
dfNormalize (d [|φ t x y z, Ax t x y z, Ay t x y z, Az t x y z|])
def F :=
[|[|0, Ex t x y z, Ey t x y z, Ez t x y z|]
, [|- Ex t x y z, 0, Bz t x y z, - By t x y z|]
, [|- Ey t x y z, - Bz t x y z, 0, Bx t x y z|]
, [|- Ez t x y z, By t x y z, - Bx t x y z, 0|]|]
hodge (d F)
δ F