brainrake / elm-ganja / Ganja.C

Clifford Algebra: C

Generated with ganja.js written by enki.

Basis


type CBasis
    = Scalar
    | E1

Basis type

basisList : List CBasis

Basis list

basisCount : Basics.Int

Number of coefficients

basisName : CBasis -> String

Basis name

Multivector


type C
    = C Basics.Float Basics.Float

Multivector

zero : C

Zero value

get : CBasis -> C -> Basics.Float

Get coefficient

set : CBasis -> Basics.Float -> C -> C

Update coefficient

new : Basics.Float -> CBasis -> C

Multivector with one coefficient

Basis multivectors

unitScalar : C

Basis multivector

e1 : C

Basis multivector

Conversion

toString : C -> String

Convert multivector to string

fromList : List Basics.Float -> Maybe C

Convert list of coefficients to multivector

toList : C -> List Basics.Float

Convert multivector to list of coefficients

Unary Operators

reverse : C -> C

Reverse the order of the basis blades.

dual : C -> C

Poincare duality operator.

conjugate : C -> C

Clifford Conjugation

involute : C -> C

Main involution

Binary Operators

mul : C -> C -> C

The geometric product.

wedge : C -> C -> C

The outer product. (MEET)

vee : C -> C -> C

The regressive product. (JOIN)

dot : C -> C -> C

The inner product.

add : C -> C -> C

Multivector addition

sub : C -> C -> C

Multivector subtraction

smul : Basics.Float -> C -> C

scalar/multivector multiplication

muls : C -> Basics.Float -> C

multivector/scalar multiplication

sadd : Basics.Float -> C -> C

scalar/multivector addition

adds : C -> Basics.Float -> C

multivector/scalar addition

ssub : Basics.Float -> C -> C

scalar/multivector subtraction

subs : C -> Basics.Float -> C

multivector/scalar subtraction

Norm

norm : C -> Basics.Float

Norm

inorm : C -> Basics.Float

Norm of dual

normalized : C -> C

Normalized multivector