Learn R Programming

clifford (version 1.0-2)

grade: The grade of a clifford object

Description

The grade of a term is the number of basis vectors in it.

Usage

grade(C, n, drop=TRUE)
grades(x)
gradesplus(x)
gradesminus(x)

Arguments

C,x

Clifford object

n

Integer vector specifying grades to extract

drop

Boolean, with default TRUE meaning to coerce a constant Clifford object to numeric, and FALSE meaning not to

Details

A term is a single expression in a Clifford object. It has a coefficient and is described by the basis vectors it comprises. Thus 4e_234 is a term but 1e3 + 2e5 is not.

The grade of a term is the number of basis vectors in it. Thus the grade of \(e_1\) is 1, and the grade of \(e_{125}=e_1e_2e_5\) is 3. The grade operator \(\left<\cdot\right>_r\) is used to extract terms of a particular grade, with

$$ A=\left<A\right>_0 + \left<A\right>_1 + \left<A\right>_2 + \cdots = \sum_r\left<A\right>_r $$

for any Clifford object \(A\). Thus \(\left<A\right>_r\) is said to be homogenous of grade \(r\). Hestenes sometimes writes subscripts that specify grades using an overbar as in \(\left<A\right>_{\overline{r}}\). It is conventional to denote the zero-grade object \(\left<A\right>_0\) as simply \(\left<A\right>\).

We have

$$ \left<A+B\right>_r=\left<A\right>_r\qquad \left<\lambda A\right>_r=\lambda\left<A\right>_r\qquad \left<\left<A\right>_r\right>_s=\left<A\right>_r\delta_{rs}. $$

Function grades() returns an (unordered) vector specifying the grades of the constituent terms.

Function gradesplus() returns the same but counting only basis vectors that square to \(+1\), and gradesminus() counts only basis vectors that square to \(-1\). These defined by Perwass, page 57.

Function grade(C,n) returns a clifford object with just the elements of grade g, where g %in% n.

Function c_grade() is a helper function that is documented at Ops.clifford.Rd.

References

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

Examples

Run this code
# NOT RUN {
a <- clifford(sapply(seq_len(7),seq_len),seq_len(7))
grades(a)
grade(a,5)


# }

Run the code above in your browser using DataLab