[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Axiom-developer] Clifford Algebra Requirements

From: Martin Baker
Subject: [Axiom-developer] Clifford Algebra Requirements
Date: Sat, 31 Oct 2009 10:59:43 +0000
User-agent: KMail/1.11.0 (Linux/; KDE/4.2.2; x86_64; ; )


In addition to the limitations of the current Clifford algebra implementation, 
that you explained, there also seem (to my untrained eye) to be performance 
issues. Also I wanted to get a feel for the general Axiom design methodology 
by picking a specific issue.

The current implementation seems to calculate the product of terms every time 
it is required when a multiplication is called. From a performance point of 
view it would seem much more efficient to calculate a multiplication table in 
the constructor which would make individual multiplications much faster. The 
original author also had this thought as the following comment is in the code:

-- The ei*ej products could instead be precomputed in
-- a (2**n)**2 multiplication table.

The entries in such a table (in the general Grassman case) would be quite 
complicated. Not just a single type but perhaps a sum of types with algebraic 
number multipliers.

I think, if I were designing such a system using a conventional object 
oriented program then, I would create a class for the multiplication table and 
also a class for individual table entries. I don't know if that's how things 
are done in Axiom?

I don't know enough about the mathematics but is seems to me that classes 
(domains) such as mutiplicationTable and multipicationTableEntry might have 
wider application for implementing other algebras?

Here I am really going to show up the gaps in my mathematical education but, 
could these things link back to more fundamental structures, for example could 
there be an inheritance hierarchy like:

field which is a compound type
compound type which can be defined by a multiplication table.
clifford (Grassman) algebra

Is there someone who defines the overall structure of Axiom at this level?

What do you think would be the best approach to this?


reply via email to

[Prev in Thread] Current Thread [Next in Thread]