rcliff | R Documentation |
Random Clifford algebra elements, intended as quick
“get you going” examples of clifford
objects
rcliff(n=9, d=6, g=4, include.fewer=TRUE) rblade(d=7, g=3)
n |
Number of terms |
d |
Dimensionality of underlying vector space |
g |
Maximum grade of any term |
include.fewer |
Boolean, with |
Function rcliff()
gives a quick nontrivial Clifford object,
typically with terms having a range of grades (see ‘grade.Rd’);
argument include.fewer=FALSE
ensures that all terms are of the
same grade.
Function rblade()
gives a Clifford object that is a
blade (see ‘term.Rd’). It returns the wedge product of a
number of 1-vectors, for example
\mjeqn\left(e_1+2e_2\right)\wedge\left(e_1+3e_5\right)(e1+2e2)^(e1+3e5).
Perwass gives the following lemma:
Given blades \mjeqnA_\langle r\rangle, B_\langle s\rangle, C_\langle t\ranglesee PDF, then
\mjdeqn \langleA_\langle r\rangle B_\langle s\rangle C_\langle t\rangle \rangle_0 = \langle C_\langle t\rangle A_\langle r\rangle B_\langle s\rangle \rangle_0 omitted; see PDF
In the proof he notes in an intermediate step that
\mjdeqn \langleA_\langle r\rangle B_\langle s\rangle \rangle_t * C_\langle t\rangle = C_\langle t\rangle * \langle A_\langle r\rangle B_\langle s\rangle \rangle_t = \langle C_\langle t\rangle A_\langle r\rangle B_\langle s\rangle \rangle_0. omitted; see PDF
Package idiom is shown in the examples.
If the grade exceeds the dimensionality, \mjseqng>d, then
the result is arguably zero; rcliff()
returns an error.
Robin K. S. Hankin
term
,grade
rcliff() rcliff(d=3,g=2) rcliff(3,10,7) rcliff(3,10,7,include=TRUE) x1 <- rcliff() x2 <- rcliff() x3 <- rcliff() x1*(x2*x3) == (x1*x2)*x3 # should be TRUE rblade() # We can invert blades easily: a <- rblade() ainv <- rev(a)/scalprod(a) zap(a*ainv) # 1 (to numerical precision) zap(ainv*a) # 1 (to numerical precision) # Perwass 2009, lemma 3.9: A <- rblade(d=9,g=4) B <- rblade(d=9,g=5) C <- rblade(d=9,g=6) grade(A*B*C,0)-grade(C*A*B,0) # zero to numerical precision # Intermediate step x1 <- grade(A*B,3) %star% C x2 <- C %star% grade(A*B,3) x3 <- grade(C*A*B,0) max(x1,x2,x3) - min(x1,x2,x3) # zero to numerical precision
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.