axiom-developer
[Top][All Lists]
Advanced

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

RE: [Axiom-developer] [Q] How to classify radicalSolve(z^(1/1)=1) ->"The


From: Bill Page
Subject: RE: [Axiom-developer] [Q] How to classify radicalSolve(z^(1/1)=1) ->"There are..." ?
Date: Sat, 12 Feb 2005 17:18:03 -0500

On Saturday, February 12, 2005 2:46 PM Vladimir Bondarenko wrote:

> Should the behaviour (C) be interpreted as a bug or as a feature?
> ...
> 
> (C) -> radicalSolve(z^(1/1)=1)
> 
>    There are 4 exposed and 0 unexposed library operations named
>       radicalSolve having 1 argument(s) but none was determined to be
>       applicable. Use HyperDoc Browse, or issue
>                           )display op radicalSolve
>       to learn more about the available operations. Perhaps
>       package-calling the operation or using coercions on the 
>       arguments will allow you to apply the operation.
> 
>    Cannot find a definition or applicable library operation named
>       radicalSolve with argument type(s)
>                          Equation Expression Integer
> 
>       Perhaps you should use "@" to indicate the required return
>       type, or "$" to specify which version of the function you
>       need.
> 

If you do what Axiom tells you to do

)display op radicalSolve

You will see that radicalSolve expects something of type
'Equation Fraction Polynomial <something>' as input. But
z^(1/1)=1 is of type 'Equation Expression Integer', presumably
because 1/1 is of type 'Fraction Integer'.

If you can grok that the value of 1/1 is the unit (denoted by 1)
of the domain Fraction Integer, then the idea that z^(1/1) is
not a polynomial is not so hard and then the fact that radicalSolve
complains might be considered a "feature".

If you want you can write an explicit conversion

(C) -> radicalSolve((z^(1/1)=1)::Equation Polynomial Integer)

One might argue that the interpreter could perform such a
conversion automatically but as far as I know at present it only
performs coercions that it knows to be correct based on types, not
values. Converting 'Fraction Integer' to 'Integer' is not possible
in general but converting <something> to Fraction <something>
is often possible.

Regards,
Bill Page.





reply via email to

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