Dear all in the Maxima group,
when working with maxima from a lisp program I sometimes wonder why
certain operations are not carried out fully.
For example I often do something like
(maxima::mfuncall 'maxima::$diff f x)
(here f and x have gone through maxima::meval) and most of the time this
works. Square roots, however, behave in a strange manner as they often
resist differentiation, i.e. I get back something like
-'diff(sqrt(v5[2]),v5[2],1)
Maybe the problem comes from the following behaviour which I don't
understand:
When I am (in-package "MAXIMA") and do (parse-string "sqrt(x)") then I
get ((%SQRT) $X).
However, when I do (maxima::parse-string "sqrt(x)") from my package I
get (($SQRT) $X).
So what is the difference between $sqrt and %sqrt?
I use Maxima 5.16.3 and Lispworks 5.1.
Reinhard Oldenburg