axiom-developer
[Top][All Lists]
Advanced

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

[Axiom-developer] Re: Embedding Axiom (Hickey and fold/unfold) Folding a


From: Martin Baker
Subject: [Axiom-developer] Re: Embedding Axiom (Hickey and fold/unfold) Folding and generalization
Date: Sat, 21 Nov 2009 22:44:44 +0000
User-agent: KMail/1.11.0 (Linux/2.6.27.37-0.1-default; KDE/4.2.2; x86_64; ; )

Tim,

Thank you for these replies, I am learning a lot here.

I think it helps to get a wider perspective.

Part of what prompted my question is when I was thinking about how to 
implement the exterior product I thought about possible options, for instance 
rules:

<e1, e2…en | ei/\ei=0, ei/\ej= -ej/\ei>

or an algorithm:

And(b1::SINT,b2::SINT) ~= 0 => z
c := c1 * c2
bz := Or(b1::SINT,b2::SINT)
for i in 0..n-1 | bit?(b1,i) repeat
  k := 0
  for j in i+1..n-1 | bit?(b1, j) repeat k := k+1
  for j in 0..i-1   | bit?(bz, j) repeat k := k+1
  if odd? k then c := -c
  z.bz := z.bz + c
z

or a multiplication table:

0      e1^e2
-e1^e2 0

Out of these options, the rules just seems to be operating at a higher level? 
In that it would seem relatively easy to translate from the rules to the 
algorithm but a lot more difficult to go from the algorithm to the rules 
(could Concordia do it?).  Also, unlike the algorithm, there is no need to 
introduce the concept of time. I wonder which type would be the best for 
making a test for equivalence?

I take your point that the rules are not necessarily better for parallel 
processing and they don't scale up very well, I wonder if there would be some 
way to get the best of all these approaches? lots of small rule bases or 
something like that?

Another point is that there are no 'side effects' to this function but we are 
trying to add one in by caching the multiplication table!

I don't have any answers but its interesting to speculate,

thanks,

Martin




reply via email to

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