[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [Axiom-developer] Clifford algebras in AXIOM
From: |
Mike Thomas |
Subject: |
RE: [Axiom-developer] Clifford algebras in AXIOM |
Date: |
Fri, 2 Apr 2004 16:21:35 +1000 |
Hi Bertfried.
Your post caught my eye because I'm interested in the so called Geometric
Algebra (GA) as promoted by David Hestenes eg:
http://modelingnts.la.asu.edu/
At one stage I considered implementing a GA library in Haskell, a non-strict
functional programming language. My idea was that you would implement a
general GA data type as a recursive lazy datastructure which would unfold
during computations only to the extent needed, hopefully saving work -
something I quite like to do!
Given that:
1. you were asking about data structures,
2. you seem to be constructing strings from symbols and constructing
algebra on top of algebra, on top of algebra..., and
3. GA seems to be a small subset of your algebraic structures,
I thought the same approach might be workable for you.
I have never used Axiom, but, a quick look through the PDF Axiom book
recently put on line shows that lazy lists are supported in Axiom, for
example, via the "generate()" function on page 62:
"Another method of creating streams is to use the generate(f,a) function.
This applies its first argument repeatedly onto its second to produce the
stream [a, f(a), f(f(a)), f(f(f(a))) . . .]. Given that the function
nextPrime returns the lowest prime number greater than its argument we can
generate a stream of primes as follows:
generate(nextPrime,2)$Stream Integer
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, . . .]
Type: Stream Integer"
Whether laziness will help you in the long run I don't know, but it might be
worthwhile finding out. It might also be worthwhile contacting Hestenes
himself who is, I believe, looking into higher level computational methods
for GA.
Cheers
Mike Thomas.