Unary Operations
Base.:-
— Method-(M::AbstractMultivector)::AbstractMultivector
Compute the additive inverse of M
.
Base.inv
— Functioninv(B::AbstractBlade)::AbstractBlade
Compute the multiplicative inverse of blade B
.
Base.reverse
— Functionreverse(M::AbstractMultivector)::AbstractMultivector
Compute the reverse of M
.
GeometricAlgebra.dual
— Functiondual(M::AbstractMultivector)::AbstractMultivector
Compute the dual of M
(relative to the unit pseudoscalar of the geometric algebra that M
is an element of).
GeometricAlgebra.dual
— Methoddual(B::AbstractBlade, C::AbstractBlade)::AbstractBlade
Compute the dual B
relative to the subspace represented by C
.
dual(B, C)
is only defined if
B
andC
are extended from real vector spaces of the same dimension andthe subspace represented by
B
is contained in subspace represented byC
.
If either of these conditions is not satisfied, an error is thrown.
The volume of C
is ignored when computing dual(B, C)
.
Binary Operations
Base.:+
— Method+(M::AbstractMultivector, N::AbstractMultivector)::AbstractMultivector
Compute the sum of M
and N
.
Base.:-
— Method-(M::AbstractMultivector, N::AbstractMultivector)::AbstractMultivector
Compute the difference between M
and N
.
Base.:*
— Method*(M::AbstractMultivector, N::AbstractMultivector)::AbstractMultivector
Compute the geometric product of M
and N
.
Base.:/
— Method/(M::AbstractMultivector, N::AbstractMultivector)::AbstractMultivector
Compute the geometric product of M
with the inverse of N
.
GeometricAlgebra.wedge
— Functionwedge(M::AbstractMultivector, N::AbstractMultivector)::AbstractMultivector
wedge(M::AbstractMultivector, N::Vector{<:Real})::AbstractMultivector
wedge(M::Vector{<:Real}, N::AbstractMultivector)::AbstractMultivector
wedge(M::Vector{<:Real}, N::Vector{<:Real})::AbstractMultivector
wedge(M::AbstractMultivector, N::Real)::AbstractMultivector
wedge(M::Real, N::AbstractMultivector)::AbstractMultivector
Compute the exterior product of M
and N
.
GeometricAlgebra.:∧
— Function∧(M, N)::AbstractMultivector
Alias for the wedge()
function. Compute the exterior product of M
and N
.
GeometricAlgebra.contract_left
— Functioncontract_left(M::AbstractMultivector, N::AbstractMultivector)::AbstractMultivector
Compute the left contraction of M
with N
.
Base.:<
— Function<(M::AbstractMultivector, N::AbstractMultivector)::AbstractMultivector
Alias for the contract_left()
function. Compute the left contraction of M
with N
.
LinearAlgebra.dot
— Functiondot(M::AbstractMultivector, N::AbstractMultivector)::AbstractMultivector
Compute the inner product of M
and N
.
Geometric Operations
GeometricAlgebra.project
— Functionproject(M::AbstractMultivector, B::AbstractBlade;
return_blade=true)::Union{AbstractBlade, AbstractFloat,
Vector, Matrix, LinearAlgebra.I}
Compute the projection of M
onto the subspace represented by B
.
When return_blade
is true, the return value is an AbstractBlade
. Otherwise, the return value is an AbstractFloat
if the result is a scalar, a Vector
if the result is a vector, a Matrix
if the result is a blade with 1 < grade < dim
, and a multiple of LinearAlgebra.I
if the result is a pseudoscalar.