axiom-developer
[Top][All Lists]
Advanced

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

Re: [Axiom-developer] Re: [sage-devel] Categories for the working progra


From: root
Subject: Re: [Axiom-developer] Re: [sage-devel] Categories for the working programmer
Date: Sun, 9 Nov 2008 18:59:32 -0500

Mike,

>On Sun, Nov 9, 2008 at 1:21 PM, root <address@hidden> wrote:
>> There are at least two possible paths toward a category hierarchy in Sage,
>> adopting Axiom's version or designing a new one.
>>
>> The key advantage of adopting the Axiom category hierarchy is the Sage
>> system could reuse a lot of the algorithms in Axiom. The Spad language
>> used in Axiom is similar in style and spirit to the Sage python language.
>> If the same categories were available it should be possible to use the
>> algorithms in Axiom's domains as written.
>>
>> The temptation to re-design is very seductive but not very productive.
>
>What is the relationship between "categories" in Axiom and the
>mathematical notion of a category?

That's a pretty deep question that's been under debate for a while
on the Axiom mailing list. See:
<http://lists.gnu.org/archive/html/axiom-developer/>

My capsule response would be that it is a computational approximation
to the mathematical idea. Axiom's implementation was not trying to 
develop category theory in full generality. However, because many of
the ideas underlie the implementation, Axiom has a very strong 
"scaffold" that arranges and supports its category hierarchy.

I've found that there is a gap between traditional mathematics and
computational mathematics. Implementing the exact mathematics makes
a system extremely difficult to use. Implementing the computational
approximation makes mathematical reasoning awkward and approximate.
(Trivially, consider "Real Numbers")

I do not believe that the proper theory exists to bridge the gap.
I feel that such a theory will be the fundamental theory of
computational mathematics. And, no, I have no idea what that might be.



The point I was making is related to Nicolas's suggestion of redesigning
the category hierarchy to handle additive vs multiplicative forms in a
different way. While that may be a good idea it would have the side-effect
of changing the implementation of the algorithms. I make no claim that
Axiom's choices are better than any other possible choices, merely that
the pragmatics of the choice make life easier.

If Sage had an Axiom-style category hierarchy then the Axiom (Spad language)
algorithms for things like integration could be rewritten into python
with a local-minimum of effort. Spad uses indentation in the same way
that python does. However, this would not be "trivial" since python
does not support lisp-like macros, Sage does not seem to have a compiler,
python does not support the data==program abstraction, etc.


Tim




reply via email to

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