[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Axiom-math] Curious behavior of Taylor series
From: |
Jay Belanger |
Subject: |
Re: [Axiom-math] Curious behavior of Taylor series |
Date: |
Mon, 21 Aug 2006 11:27:22 -0500 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux) |
Ralf Hemmecke <address@hidden> writes:
> On 08/21/2006 03:38 AM, Jay Belanger wrote:
>> Martin Rubey <address@hidden> writes:
>>
>>> "Igor Khavkine" <address@hidden> writes:
>>>
>>>> Can someone explain the following behavior of Taylor series in Axiom?
>>>>
>>>> (113) -> y := taylor x
>>>> (113) x
>>>> Type: UnivariateTaylorSeries(Expression
>>>> Integer,x,0)
>>>> (114) -> x*y
>>>> (114) x x
>>>> Type: UnivariateTaylorSeries(Expression
>>>> Integer,x,0)
>>>> (115) -> coefficient(%,1)
>>>> (115) x
>>>> Type: Expression
>>>> Integer
>>> The reason is that Axiom cannot really know whether you meant x in (114) to
>>> be
>>> an element of the coefficient Ring EXPR INT, or to be a univariate Taylor
>>> series. In case of doubt, it usually chooses the wrong possibility :-)
>>
>> When multiplying two elements, shouldn't Axiom try to coerce them to
>> be in the same structure? (I realize it doesn't, particularly here,
>> but wouldn't that be reasonable behavior?)
>
> But Axiom coerced the two x to the same domain!!!
Not in any meaningful way. What I think should have happened is
something like
(1) -> y := taylor x
(1) x
Type: UnivariateTaylorSeries(Expression Integer,x,0)
(2) -> (x::UnivariateTaylorSeries(Expression Integer,x,0))*y
2
(2) x
Type: UnivariateTaylorSeries(Expression Integer,x,0)
(without the cast having to be explicit).
The only real experience I have with domains is in MuPAD, and this is
roughly how MuPAD handles it.
> The first x is a coefficient, and the second x is the variable from
> the Taylor series. So you cannot complain.
Oh, I can always complain. The only question is whether or not my
complaints are justified.
> The only problem is that it is terribly confusing. Unfortunately, I
> cannot even blame that the user did anything wrong since Axiom came up
> with this strange type UnivariateTaylorSeries(Expression Integer,x,0).
>
> But I could blame the user for trying to do "x * y". Here you instruct
> the compiler to guess since there is no function
>
> *: (Symbol, UTS(Expression Integer,x,0))->UTS(Expression Integer,x,0)
>
> so the interpreter has to do something with the x. It coerces it to
> Expression(Integer). That is perfectly legal.
But not perfectly reasonable, I think. And it isn't coercing x to be
in the same domain as the other x, which is what I think should happen.
Jay
- [Axiom-math] Curious behavior of Taylor series, Igor Khavkine, 2006/08/20
- Re: [Axiom-math] Curious behavior of Taylor series, Martin Rubey, 2006/08/20
- Re: [Axiom-math] Curious behavior of Taylor series, Igor Khavkine, 2006/08/20
- Re: [Axiom-math] Curious behavior of Taylor series, Jay Belanger, 2006/08/20
- Re: [Axiom-math] Curious behavior of Taylor series, Ralf Hemmecke, 2006/08/21
- Re: [Axiom-math] Curious behavior of Taylor series,
Jay Belanger <=
- Re: [Axiom-math] Curious behavior of Taylor series, Ralf Hemmecke, 2006/08/21
- Re: [Axiom-math] Curious behavior of Taylor series, Martin Rubey, 2006/08/21
- Re: [Axiom-math] Curious behavior of Taylor series, Ralf Hemmecke, 2006/08/21
- Re: [Axiom-math] Curious behavior of Taylor series, Igor Khavkine, 2006/08/21
- Re: [Axiom-math] Curious behavior of Taylor series, Ralf Hemmecke, 2006/08/21
- Re: [Axiom-math] Curious behavior of Taylor series, Jay Belanger, 2006/08/21
- Re: [Axiom-math] Curious behavior of Taylor series, Ralf Hemmecke, 2006/08/21
- Re: [Axiom-math] Curious behavior of Taylor series, Jay Belanger, 2006/08/22
- Re: [Axiom-math] Curious behavior of Taylor series, Ralf Hemmecke, 2006/08/22
Re: [Axiom-math] Curious behavior of Taylor series, Igor Khavkine, 2006/08/21