Quick start (G2)

Import the Grassmann package and instantiate a two-dimensional algebra (G2),

julia> using Grassmann
julia> @basis ℝ^2(⟨++⟩, v, v₁, v₂, v₁₂)
julia> v1*v2 # geometric productv₁₂
julia> v1|v2 # inner product𝟎
julia> v1∧v2 # exterior productv₁₂

Reflection

a = v1+v2
n = v1
-n*a/n # reflect a in hyperplane normal to n
-1.0v₁ + 1.0v₂

Rotation

julia> R = exp(π/4*v12)0.7071067811865476 + 0.7071067811865475v₁₂
julia> ~R*v1*R2.22045e-16v₁ + 1.0v₂