pub const fn reverse_sign(grade: usize) -> i8Expand 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)
| Grade | k(k-1)/2 | Sign |
|---|---|---|
| 0 | 0 | +1 |
| 1 | 0 | +1 |
| 2 | 1 | -1 |
| 3 | 3 | -1 |
| 4 | 6 | +1 |
| 5 | 10 | +1 |
| 6 | 15 | -1 |
| 7 | 21 | -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: +