brainrake / elm-ganja / Ganja.Dual

Clifford Algebra: Dual

Generated with ganja.js written by enki.

Basis


type DualBasis
    = Scalar
    | E0

Basis type

basisList : List DualBasis

Basis list

basisCount : Basics.Int

Number of coefficients

basisName : DualBasis -> String

Basis name

Multivector


type Dual
    = Dual Basics.Float Basics.Float

Multivector

zero : Dual

Zero value

get : DualBasis -> Dual -> Basics.Float

Get coefficient

set : DualBasis -> Basics.Float -> Dual -> Dual

Update coefficient

new : Basics.Float -> DualBasis -> Dual

Multivector with one coefficient

Basis multivectors

unitScalar : Dual

Basis multivector

e0 : Dual

Basis multivector

Conversion

toString : Dual -> String

Convert multivector to string

fromList : List Basics.Float -> Maybe Dual

Convert list of coefficients to multivector

toList : Dual -> List Basics.Float

Convert multivector to list of coefficients

Unary Operators

reverse : Dual -> Dual

Reverse the order of the basis blades.

dual : Dual -> Dual

Poincare duality operator.

conjugate : Dual -> Dual

Clifford Conjugation

involute : Dual -> Dual

Main involution

Binary Operators

mul : Dual -> Dual -> Dual

The geometric product.

wedge : Dual -> Dual -> Dual

The outer product. (MEET)

vee : Dual -> Dual -> Dual

The regressive product. (JOIN)

dot : Dual -> Dual -> Dual

The inner product.

add : Dual -> Dual -> Dual

Multivector addition

sub : Dual -> Dual -> Dual

Multivector subtraction

smul : Basics.Float -> Dual -> Dual

scalar/multivector multiplication

muls : Dual -> Basics.Float -> Dual

multivector/scalar multiplication

sadd : Basics.Float -> Dual -> Dual

scalar/multivector addition

adds : Dual -> Basics.Float -> Dual

multivector/scalar addition

ssub : Basics.Float -> Dual -> Dual

scalar/multivector subtraction

subs : Dual -> Basics.Float -> Dual

multivector/scalar subtraction

Norm

norm : Dual -> Basics.Float

Norm

inorm : Dual -> Basics.Float

Norm of dual

normalized : Dual -> Dual

Normalized multivector