# term: Deal with terms In clifford: Arbitrary Dimensional Clifford Algebras

## Description

By basis vector, I mean one of the basis vectors of the underlying vector space \mjeqnR^nR^n, that is, an element of the set \mjeqn\left\lbrace e_1,...,e_n\right\rbracee_1,...,e_n. A term is a wedge product of basis vectors (or a geometric product of linearly independent basis vectors), something like \mjeqne_12e_12 or \mjeqne_12569e_12569. Sometimes I use the word “term” to mean a wedge product of basis vectors together with its associated coefficient: so \mjeqn7e_127e_12 would be described as a term.

From Perwass: a blade is the outer product of a number of 1-vectors (or, equivalently, the wedge product of linearly independent 1-vectors). Thus \mjeqne_12=e_1\wedge e_2e_12=e_1 ^ e_2 and \mjeqne_12 + e_13=e_1\wedge(e_2+e_3)e_12+e_13=e1^(e2+e3) are blades, but \mjeqne_12 + e_34e_12+e_34 is not.

Function rblade(), documented at ‘rcliff.Rd’, returns a random blade.

Function is.blade() is not currently implemented: there is no easy way to detect whether a Clifford object is a product of 1-vectors.

## Usage

 1 2 3 terms(x) is.blade(x) is.basisblade(x) 

## Arguments

 x Object of class clifford

## Details

• Functions terms() and coeffs() are the extraction methods. These are unordered vectors but the ordering is consistent between them (an extended discussion of this phenomenon is presented in the mvp package).

• Function term() returns a clifford object that comprises a single term with unit coefficient.

• Function is.basisterm() returns TRUE if its argument has only a single term, or is a nonzero scalar; the zero clifford object is not considered to be a basis term.

## Author(s)

Robin K. S. Hankin

## References

C. Perwass. “Geometric algebra with applications in engineering”. Springer, 2009.

clifford,rblade
  1 2 3 4 5 6 7 8 9 10 x <- rcliff() terms(x) is.basisblade(x) a <- as.1vector(1:3) b <- as.1vector(c(0,0,0,12,13)) a %^% b # a blade