|
|
last edited 16 years ago by Bill Page |
1 2 3 | ||
Editor: Bill Page
Time: 2008/05/21 20:56:48 GMT-7 |
||
Note: |
changed: -have a path to coerce PostiveInteger -> Expression(Integer). have a path to coerce PositiveInteger -> Expression(Integer).
Hi *,
A terrible bug in differentiation.
D(sin(z)^2+cos(z)^2, z)
(1) |
Type: Expression(Integer)
D(simplify(sin(z)^2+cos(z)^2), z)
(2) |
Type: Expression(Integer)
BUT
D(1, z)
There are 5 exposed and 0 unexposed library operations named D having 2 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op D 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 D with argument type(s) PositiveInteger Variable(z)
Perhaps you should use "@" to indicate the required return type, or "$" to specify which version of the function you need. D(cosh(z)^2-sinh(z)^2, z)
(3) |
Type: Expression(Integer)
D(simplify(cosh(z)^2-sinh(z)^2), z)
(4) |
Type: Expression(Integer)
D(1::Expression(Integer),z)
(5) |
Type: Expression(Integer)
In Axiom it is important to know the type of the arguments to a function. In this case you gave the D function a PositveInteger? and is does not have a path to coerce PositiveInteger? -> Expression(Integer).
Whenever you see the message about exposed and unexposed library functions the meaning is that you didn't match the type of the arguments and the interpreter couldn't get there from here.
The coercion/conversion tower in the interpreter is not well defined and sometimes it needs help.
Tim