Wedge Product and Antisymmetrization¶
Differential forms multiply with the alternating wedge product. For one-forms $a$ and $b$,
$$(a\wedge b)_{ij}=\frac12(a_i b_j-a_j b_i),$$
so $a\wedge b=-b\wedge a$ and $a\wedge a=0$. Egison first
constructs an indexed tensor product and then exposes the alternating
differential-form representative through dfNormalize.
Coordinate one-forms in $\mathbb R^3$¶
In the ordered basis $(dx,dy,dz)$, each basis one-form is represented by a vector. The ambient dimension and coordinates are included to make the geometric setting explicit.
declare symbol x, y, z : MathValue
def N : Integer := 3
def params : Vector MathValue := [| x, y, z |]
def dx : DiffForm Integer := [| 1, 0, 0 |]
def dy : DiffForm Integer := [| 0, 1, 0 |]
def dz : DiffForm Integer := [| 0, 0, 1 |]
Raw indexed product¶
The raw wedge expression retains the ordered component generated by the tensor operation. Looking at it before normalization makes the representation convention visible.
dx ∧ dy
Alternating two-form¶
Normalization distributes that component over the antisymmetric matrix. The entries at $(1,2)$ and $(2,1)$ have opposite signs and carry the conventional factor $1/2$.
dfNormalize (dx ∧ dy)
Antisymmetrization also removes a repeated basis direction. Although the intermediate indexed product $dz\wedge dz$ has a diagonal entry, its differential-form normalization is zero.
dfNormalize (dz ∧ dz)
Thus dfNormalize is not cosmetic: it projects an indexed tensor onto
its alternating part. Once normalized, the displayed tensors obey the
geometric identities $dx\wedge dy=-dy\wedge dx$ and $dz\wedge dz=0$.