Learn R Programming

clifford (version 1.0-2)

Conj: Conjugate of a Clifford object

Description

The “conjugate” of a Clifford object is defined by Perwass in definition 2.9, p59.

Usage

# S3 method for clifford
Conj(z)

Arguments

z

Clifford object

Details

Perwass uses a dagger to indicate Conjugates, as in \(A^\dag\). If

$$ A_{\langle k\rangle} = \bigwedge_{i=1}^k a_i $$

Then

$$ A_{\langle k\rangle}^\dag = \left(a_1\wedge\ldots\wedge a_k\right)^\dag = a_k^\dag\wedge\ldots\wedge a_1^\dag = \bigwedge_{i=1}^k a_i^\dag $$

He gives the following theorem (3.58, p70]:

Given blades \(A_{\langle k\rangle}, B_{\langle l\rangle}\), then

$$ \left( A_{\langle k\rangle}\wedge B_{\langle l\rangle} \right)^\dag = B_{\langle l\rangle}^\dag \wedge A_{\langle k\rangle}^\dag $$

and

$$ \left( A_{\langle k\rangle} B_{\langle l\rangle} \right)^\dag = B_{\langle l\rangle}^\dag A_{\langle k\rangle}^\dag $$

See examples for package idiom.

References

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

See Also

grade,rev

Examples

Run this code
# NOT RUN {
signature(2)

A <- rblade(g=3)
B <- rblade(g=4)

Conj(A %^% B) - Conj(B) %^% Conj(A)      # should be small
Conj(A * B) - Conj(B) * Conj(A)          # should be small


x1 <- rblade(d=9,g=2)
x2 <- rblade(d=9,g=2)
x3 <- rblade(d=9,g=2)
x4 <- rblade(d=9,g=2)

LHS <- Conj(x1 %^% x2 %^% x3 %^% x4)
RHS <- Conj(x4) %^% Conj(x3) %^% Conj(x2) %^% Conj(x1) 
Mod(LHS - RHS) # should be small


LHS <- Conj(x1 * x2 * x3 * x4)
RHS <- Conj(x4) * Conj(x3) * Conj(x2) * Conj(x1) 
Mod(LHS - RHS) # should be small


signature(0)

# }

Run the code above in your browser using DataLab