Skip to content

Projective geometric algebra #480

Closed
Closed
@technolapin

Description

@technolapin

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?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions