Quick start (G2)
Import the Grassmann package and
instantiate a two-dimensional algebra (G2),
julia> using Grassmannjulia> @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₂