[recursive vs. distributed polynomials]
I don't know how we should model "abstract polynomials", but I'm not even sure
whether we should have such a thing.

That would be possible, but suppose you want to do a Gröbner basis computation. Who is going to choose the most efficient data representation?

In fact, one could model that, but where should it be stored?

The GB algorithm could only make some statements about "I probably run fastest with this and that representation", but the "abstract polynomials" might not provide such a representation. What to do then?

Or you could store the knowledge that "for GB computations this or that representation is best" in the "abstract polynomials". Then somebody comes and adds a knew algorithm to the system and the "abstract polynomials" just don't know about the appropriate representation.

I think it is totally hard to map the mathematical concept of polynomials to just ONE "abstract polynomial" type and make the choice of the underlying datastructure invisible.

Concerning provisos, this really affects only the domain EXPR, in my opinion.

Provisos look to me like a tree of results stored in one object. But maybe I should read Tim's thesis first.

Anyway, yesterday I spoke with Antoine Hersen about provisos.
He came up with the following simple system in Q[x,y].

x*y = b
a*x = b

With provisos, I guess we are speaking about polynomials in Q(a,b)[x,y] where we are looking for a solution in some extension of Q depending on the parameters a and b.

As we all know, the result of the second equation splits into 4 cases depending on whether a and/or b is 0. And the result is best described by the set of solutions together with the conditions.

To make it simple the type would be

(subset of Q, equations/elements in Q(a,b))

and all 4 cases live in just ONE proviso? (Maybe I missed something.)
Anyway. Now solve the first equation. Interestingly, the type would be

(subset Q(x), equations in Q(a,b,x)),

since if a=b=0 you cannot say anything about x.

The question is: What type should provisos have? See, I start with Q(a,b)[x,y] in the beginning. How do I know that I will need Q(a,b,x) in the result?

Ralf




_______________________________________________
Axiom-developer mailing list
Axiom-developer@nongnu.org
http://lists.nongnu.org/mailman/listinfo/axiom-developer

Reply via email to