Martin Baker wrote:
>
> I have updated the comments in the pamphlet file as you suggested on git hub:
> http://github.com/martinbaker/multivector/
>
I have now tried your code. There is a problem in non-diagonal case:
Pf := PrimeField(17)
bL := matrix([[1, 1, 0], [1, 1, 1], [0, 1, 1]])$SquareMatrix(3, PrimeField(17))
Ca := CliffordAlgebra(3, Pf, bL)
randc() == reduce('+, [random()$Pf*eFromBinaryMap(i)$Ca for i in 0..7])
(23) -> a := randc()
(23) 2 + 4e + 2e + 15e e + 6e + 3e e + 7e e + 16e e e
1 2 1 2 3 1 3 2 3 1 2 3
Type: CliffordAlgebra(3,PrimeField(17),[[1,1,0],[1,1,1],[0,1,1]])
(24) -> b := randc()
(24) 7 + 4e + 14e + 11e e + 2e + 10e e + 8e e + 8e e e
1 2 1 2 3 1 3 2 3 1 2 3
Type: CliffordAlgebra(3,PrimeField(17),[[1,1,0],[1,1,1],[0,1,1]])
(25) -> c := randc()
(25) 10 + 9e + 14e + 7e e + 10e e + 5e e + 9e e e
1 2 1 2 1 3 2 3 1 2 3
Type: CliffordAlgebra(3,PrimeField(17),[[1,1,0],[1,1,1],[0,1,1]])
(26) -> (a*b)*c - a*(b*c)
(26) 10e + 7e + 8e e + 4e + 5e e + 4e e + 15e e e
1 2 1 2 3 1 3 2 3 1 2 3
Type: CliffordAlgebra(3,PrimeField(17),[[1,1,0],[1,1,1],[0,1,1]])
so the multiplication is nonassociative. I am not sure about
nonsymmetric case, but in symmetric case Clifford algebra is
a ring and multiplication is associative. In fact, for normal
Clifford algebra (that is when we forget about extra things like
wedge product or contractions) the only things you need to test
is defining property: v*v = Q(v) for v beeing a vector and associativity
(linearty is assured by code structure, and rest is mathematical
consequence).
--
Waldek Hebisch
[email protected]
--
You received this message because you are subscribed to the Google Groups
"FriCAS - computer algebra system" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/fricas-devel?hl=en.