[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Axiomdeveloper] RE: symbolic manipulation of expressions in Axiom
From: 
Gabriel Dos Reis 
Subject: 
Re: [Axiomdeveloper] RE: symbolic manipulation of expressions in Axiom 
Date: 
01 Apr 2007 18:02:19 0500 
"Bill Page" <address@hidden> writes:
 On April 1, 2007 4:20 PM Gaby wrote:
 > ...
 > Bill Page wrote:
 > 
 >  There are *no* mathematical (algebraic) operations in InputForm!
 >
 > and I'm saying that once you've added them, as for Expression T,
 > you'll see no difference. Adding them is precisely what people
 > do when they start "symbolic computation" and "simplification".

 No. I disagree at a deep level. I think what is done in the
 Axiom library is completely different. What Axiom is doing is
 fundamentally *algebraic*. Simplification of symbolic expressions
 does not any algebra.
Well, I do disagree there. If you don't do any algebra, you cannot
manage your symbolic expressions.
For a symbolic expression, you first need to chose on a "standard form"
(or "normal form", depending on your religion).
The fundamental reason why "simplify" is so illdefined for symbolic
expressions is precisely that whatever they have to do is profoundly
influenced by the algebra of the standard form structures.
For example, when you see something like
x^2 * 3 * x^(4) * 5/89
you have to come up with algebraic computations for the "constant"
parts, and for the exponent parts  many symbolic manipulation
systems assume tht "*" is commutative.
 For example to simplify an expression it
 is not necessary to instantiate an object which directly represents
 a polynomial in the way polynomials are represented in Axiom.
But, you do need to come up with standard form that requires you do
define algebra rules on the objects. In particular, you do need to
make alegbraic assumptions regarding the polynomials.
 All that you need to do is to apply a set of rewrite rules that
 accomplish (or not) your desired goal.
But, the rewrite rules do embody algebraic semantics.
 On the other hand creating a polynomial *object* (and some other
 algebraic objects) is exactly what Axiom does in the Expression
 domain.
simplify(differentiate (sin(x) + x, x)^2 + (sin(x) + x)^2)
 > [...]
 >
 >  > Also, be aware than the Axiom designers, in many places,
 >  > thought of Expression as the general domain for symbolic
 >  > manipulation and have appropriate hardwired type inference
 >  > rules in the interpreter.
 >  >
 > 
 >  Of course that is no problem. If you are able to read and
 >  understand Stephen Watt's paper on this subject, I am sure
 >  that this would be clear to you.
 >
 > That has nothing to do with what I'm saying.
 >

 ??? But that is exactly what I am saying.
"that is exactly" what?
 > BTW, it is possible to read Watt's paper and not agreeing with
 > him. And it is possible to agree with him and not reading his
 > paper.

 Certainly. In fact I agreed with him before I read his paper.

 > But again, what he said in his paper has nothing to do with
 > the distinction between Expression T and InputForm I'm
 > concerned with.
 >

 It is possible that I do not understand "the distinction between
 Expression T and InputForm that you are concerned with", but I
 did think that my concern in this regard was the same as yours.
 If that is the case then I strongly disagree with your conclusion.
 I also feel strongly that understanding this distinction is
 critical to understanding what is different about Axiom as a
 computer algebra system, so I have a lot of motivation to continue
 this discussion until we can find some agreement.
I believe I understand what makes the difference between Axiom and
other CASes, but I think both you and me seem to profoundly between
the outcome of InputForm augmented with all that is necessary to mimic
other CASes and Expression T. Consequently I do not see the link
# understanding this distinction is critical to understanding what is
# different about Axiom as a computer algebra system.
 How shall we proceed?
Definitely.
 Would it help if I try to described more formally my understanding
 of exactly how Axiom captures matematical semantics in terms of
 the representation of objects and how that differs from more
 syntactical things like term rewriting? Or do continue to insist
 that we not talk about representation?
I believe the distinction must be explained through interfaces. If we
must resort to internal representations, then the distinction is
artificial, not fundamental; therefore, we can ignore it as being
merely nonfundamental artefacts.
 Gaby
 [Axiomdeveloper] symbolic manipulation of expressions in Axiom (was: SymPy on Axiom Wiki), Bill Page, 2007/04/01
 [Axiomdeveloper] Re: symbolic manipulation of expressions in Axiom (was: SymPy on Axiom Wiki), gdr, 2007/04/01
 [Axiomdeveloper] RE: symbolic manipulation of expressions in Axiom, Bill Page, 2007/04/01
 Re: [Axiomdeveloper] RE: symbolic manipulation of expressions in Axiom, Gabriel Dos Reis, 2007/04/01
 RE: [Axiomdeveloper] RE: symbolic manipulation of expressions in Axiom, Bill Page, 2007/04/01
 Re: [Axiomdeveloper] RE: symbolic manipulation of expressions in Axiom, Gabriel Dos Reis, 2007/04/01
 RE: [Axiomdeveloper] RE: symbolic manipulation of expressions in Axiom, Bill Page, 2007/04/01
 Re: [Axiomdeveloper] RE: symbolic manipulation of expressions in Axiom,
Gabriel Dos Reis <=
 RE: [Axiomdeveloper] RE: symbolic manipulation of expressions in Axiom, Bill Page, 2007/04/02