Learn R Programming

clifford (version 1.0-8)

term: Deal with terms

Description

By basis vector, I mean one of the basis vectors of the underlying vector space R^nR^n, that is, an element of the set e_1,...,e_ne_1,...,e_n. A term is a wedge product of basis vectors (or a geometric product of linearly independent basis vectors), something like e_12e_12 or e_12569e_12569. Sometimes I use the word “term” to mean a wedge product of basis vectors together with its associated coefficient: so 7e_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 e_12=e_1 e_2e_12=e_1 ^ e_2 and e_12 + e_13=e_1(e_2+e_3)e_12+e_13=e1^(e2+e3) are blades, but e_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

terms(x)
is.blade(x)
is.basisblade(x)

Arguments

x

Object of class clifford

Author

Robin K. S. Hankin

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.

References

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

See Also

clifford,rblade

Examples

Run this code

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

Run the code above in your browser using DataLab