Coding up a simple geometric algebra in MATLAB

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
6 replies · 3K views
Messages
1,816
Reaction score
33
Hi,

I have been wanting to do this for a while but not too sure how to go about it. I have the following geometric algebra
[itex]\lbrace\mathbf{e}_{i}\rbrace_{i=0}^{3}[/itex] which satisfy the following relations: [tex]\mathbf{e}_{i}\mathbf{e}_{j}=-\mathbf{e}_{j}\mathbf{e}_{i}[/tex] and [tex]\mathbf{e}_{1}^{2}=\mathbf{e}_{2}^{2}=\mathbf{e}_{3}^{3}=1\quad \mathbf{e}_{0}^{2}=\frac{1}{\varepsilon}[/tex]

There are 16 elements in this geometric algebra. I thought about doing it as one long vector but didn't know if there was a better way of doing it. I also am not quite sure about dealing with the [itex]\varepsilon[/itex], any suggestions?

Mat
 
Physics news on Phys.org
hunt_mat said:
I am aware of GABLE but it's not the geometric algebra which I am interested in.

I wasn't really suggesting you use GABLE, but that you use the same type of object oriented approach that was used to create GABLE.

You can write a class that creates objects of the geometric algebra with all of the properties you listed.

Here is another example that implements a Clifford Alebra using an object oriented approach:

http://www.mathworks.com/matlabcentral/fileexchange/34286-clifford-algebra
 
I think Kriel's approach is the right one. You could represent multivectors as ordinary 1-D arrays, and then write functions to work with them, but an object oriented approach seems like the most user-friendly way to go about it.
 
The trick comes in with how to represent epsilon in te code which I have no idea what to do with it.

I've not done much OO, and NONE with matlab.