axiom-developer
[Top][All Lists]
Advanced

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

Re: [Axiom-developer] aldor stream oddities


From: Ralf Hemmecke
Subject: Re: [Axiom-developer] aldor stream oddities
Date: Mon, 13 Aug 2007 16:19:46 +0200
User-agent: Thunderbird 2.0.0.6 (X11/20070728)

On 08/11/2007 08:55 PM, Franz Lehner wrote:

Now, in Axiom we should have a problem with saying that S is an additive group.
That's true. All axioms are satisfied, except uniqueness of inverses and the neutral element. What should it be? A FuzzyAbelianGroup?

Well, the problem is that we don't deal with classical mathematics, we deal with constructive mathematics. So let's assume that

  T := UnivariateTaylorSeries(Integer,x,0)

is a Ring. Then I can form F := Fraction T.

Then F is a field. And I can form polynomials that take F as a coefficient domain. Now I can take several such polynomials in Axiom and compute a Gröbner basis for them. You will be surprised that this is not what you would expect. Testing whether a coefficient is zero is used quite a lot in Buchberger's algorithm. The algorithm is implemented in a generic form and works over any coefficient field. Unfortunately, the algorithm cannot tell you that it computed the wrong result since you promised to give a field as input but in fact, gave something for which

(4) -> zero?(t-t)
   (4)  false
           Type: Boolean

holds. So how do you ensure correctness of results then? Would you like to put all the burden onto the user?

We must be very careful here. And I only addressed that problem. The library should be very carefully designed. At the moment it contains a lot of flaws.

The category Ring is reserved for structures with complete equality testing.
Is this the plan for Axiom too?

I don't know. I am not the only person who decides this. But I would vote for yes.

What will happen to ExpressionField? I recall there are undecidable problems in the latter as well.

All I say, is that the library must be rethought.

Here is a proposal (in SPAD) for a recursive stream generator which looks at all previous elements, not just the last one. It could probably be done with the existing generate(S->S,S), but this one looks more natural.

You should take a look at the definition of Stream in LibAldor or also at
http://www.risc.uni-linz.ac.at/people/hemmecke/AldorCombinat/combinatse12.html#x58-9900012

Ralf





reply via email to

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