Closed
Description
I am working with projective geometric algebra (metric: [0, 1, 1, 1] ), but I have trouble to find a way to make it work with galgebra because of the nilpotent basis vector.
For instance, this code
p3g = [0, 1, 1, 1]
p3ga = Ga('e_0 e_1 e_2 e_3', g=p3g, coords=oxyz, norm=False, wedge=False)
e0, e1, e2, e3 = p3ga.mv()
ux = p3ga.mv('u_x', 'scalar')
uy = p3ga.mv('u_y', 'scalar')
uz = p3ga.mv('u_z', 'scalar')
u = e1*ux + e2*uy+e3*uz
print("u", u)
print("u*", u.dual())
prints
: !!!!If I**2 = 0, I cannot be normalized!!!!
: u u_x*e_1 + u_y*e_2 + u_z*e_3
: u* zoo*(u_x + u_y + u_z)
when u* should be u_x*e_23 - u_y*e_13 + u_z*e_12
How should I do to make it work? Is there a way to give a user-defined dualization method, or to add the antiproduct?