Skip to main content

reverse_sign

Function reverse_sign 

Source
pub const fn reverse_sign(grade: usize) -> i8
Expand description

Sign factor for the reverse of a k-blade.

The reverse operation flips the order of basis vectors in a blade, introducing a sign of (-1)^(k(k-1)/2) where k is the grade.

The pattern is: ++--++--... (repeating every 4 grades)

Gradek(k-1)/2Sign
00+1
10+1
21-1
33-1
46+1
510+1
615-1
721-1

ยงExample

use clifford_codegen::algebra::reverse_sign;

assert_eq!(reverse_sign(0), 1);  // scalar: +
assert_eq!(reverse_sign(1), 1);  // vector: +
assert_eq!(reverse_sign(2), -1); // bivector: -
assert_eq!(reverse_sign(3), -1); // trivector: -
assert_eq!(reverse_sign(4), 1);  // 4-vector: +