[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Axiom-developer] about Expression Integer
From: |
Martin Rubey |
Subject: |
Re: [Axiom-developer] about Expression Integer |
Date: |
22 Feb 2006 14:54:55 +0100 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.4 |
"Bill Page" <address@hidden> writes:
> Martin,
>
> On February 22, 2006 3:54 AM you wrote:
> >
> > I'm currently out of time. But I'm a little afraid of the
> > direction the discussion takes currently.
>
> I on the other hand am very happy that this discussion
> seems to accurately reflect the concept of type in Axiom.
well, I'd be happier if I could defend my point of view. Just, I can't,
currently. Still I'll try to (partially) respond to this message... Please bear
with me.
> > I believe that the intension of a constructor like DMP is to cover
> > *polynomials*.
>
> I agree. "cover" is the operative word. This does not preclude that the type
> DMP in Axiom might be a little more general than what is called a polynomial
> in some mathematical uses (but perhaps not others).
> > If we allow (2*x+1/x)::DMP([x], EXPR INT), i.e., allowing 1/x as a
> > coefficient, then it must be clear that the "x" in 1/x is something
> > different than the "x" in 2*x. Otherwise we don't get a polynomial,
> > obviously.
>
> I think this is wrong. In fact, it is clear from the implementation of Axiom
> that whether the 'x' in these two cases is the same or not depends on which
> domain to which they belong.
>
> Could you please define in what sense "Otherwise we don't get a polynomial,
> obviously."? To me this is not obvious - it is wrong.
Why should this be wrong?
Here's a definition for polynomial from wikipedia:
In mathematics, a polynomial is an expression in which constants and
variables are combined using (only) addition, subtraction, and
multiplication. Thus, 7x^2+4x-5 is a polynomial; 2/x is not.
I recall that in the Algebra course I attended, the polynomial ring was defined
as a ring (of coefficients) together with a variable which is to be
transcendent over that ring.
I guess you know that, so there is probably a misunderstanding somewhere. Just
to be clear:
sin x + y*cos x + y^2* tan x
is perfectly allright a polynomial in y.
> Documentation is a good thing. But why should we retain behaviour in Axiom
> that is mathematically incorrect? What advantage does this odd behaviour of
> 'differentiate' have over a mathematically correct implementation?
I think that 'differentiate' does not exhibit odd behaviour. Why do you think
it's odd?
Of course, if you claim that x+1/sin(x) is a polynomial, than I'm out of luck.
You said, given
> > > > P := DMP([x,y], EXPR INT)
> > > > a :P := x
> > > > b := a/x
> > > >
> > > > differentiate(b,x) -- 1/x
> > >
> > > (4) -> differentiate(b,x)
> > >
> > > 1
> > > (4) -
> > > x
> > > Type: DistributedMultivariatePolynomial([x,y],Expression Integer)
> On the other hand a 'differentiate' operator that returns 1/x in (4) above
> would violate the mathematical definition of derivative, so I think it cannot
> possibly be right.
I wouldn't say that this violates the "mathematical definition of
derivative". The derivative of a univariate polynomial is defined by sending
x^n to n*x^(n-1) and linear extension. There is no such thing as 1/x in the
polynomial world. If you want a domain that contains x and 1/x, consider using
Laurent polynomials. In fact I cannot see a single reason to consider a domain
DMP(vars, EXPR INT) at all, except for the fact that we do not have a domain
EXPR(vars, coefficients) yet.
> > Note that b::UP([x], INT) or b::POLY INT give errors!
>
> Obviouse 'b' has no representation in these domains.
Yes it has: 1 is a UP([x], INT).
Martin
- Re: [Axiom-developer] about Expression Integer, (continued)
- Re: [Axiom-developer] about Expression Integer, Francois Maltey, 2006/02/20
- RE: [Axiom-developer] about Expression Integer, Bill Page, 2006/02/20
- Re: [Axiom-developer] about Expression Integer, Ralf Hemmecke, 2006/02/21
- RE: [Axiom-developer] about Expression Integer, Bill Page, 2006/02/21
- Re: [Axiom-developer] about Expression Integer, Ralf Hemmecke, 2006/02/21
- RE: [Axiom-developer] about Expression Integer, Bill Page, 2006/02/21
- Re: [Axiom-developer] about Expression Integer, Ralf Hemmecke, 2006/02/21
- RE: [Axiom-developer] about Expression Integer, Bill Page, 2006/02/21
- Re: [Axiom-developer] about Expression Integer, Martin Rubey, 2006/02/22
- RE: [Axiom-developer] about Expression Integer, Bill Page, 2006/02/23
- Re: [Axiom-developer] about Expression Integer,
Martin Rubey <=
- RE: [Axiom-developer] about Expression Integer, Bill Page, 2006/02/22
- Re: [Axiom-developer] about Expression Integer, Francois Maltey, 2006/02/22
- Re: [Axiom-developer] about Expression Integer, Martin Rubey, 2006/02/23
- RE: [Axiom-developer] about Expression Integer, Bill Page, 2006/02/23
- Re: [Axiom-developer] about Expression Integer, Ralf Hemmecke, 2006/02/24
- Re: [Axiom-developer] about Expression Integer, William Sit, 2006/02/24
- Re: [Axiom-developer] about Expression Integer, Ralf Hemmecke, 2006/02/20
- Re: [Axiom-developer] about Expression Integer, Gabriel Dos Reis, 2006/02/20
- Re: [Axiom-developer] about Expression Integer, Ralf Hemmecke, 2006/02/20
- RE: [Axiom-developer] about Expression Integer, Bill Page, 2006/02/20