implicit derivative problem



On 1/4/08, S. Newhouse <sen1 at math.msu.edu> wrote:

> /* the following example will fill the array f with derivatives
> array(f,2,3,function)
> f[0,0]:x^2+y^3-z^4=0
> implicit_derivative(f,[x,y],[2,3],z) */
>
> (%i2) load(impdiff);
> (%o2)      /usr/local/share/maxima/5.14.0/share/contrib/impdiff.mac
> (%i3) array(f,2,3,function);
> (%o3)                                  f
> (%i4) f[0,0]:x^2+y^3-z^4=0;
>                                  4    3    2
> (%o4)                         - z  + y  + x  = 0
> (%i5) implicit_derivative(f,[x,y],[2,3],z);
>
> Second argument to `fillarray' must be an array or list:
> makeOrders([x, y], [2, 3])
> #0:
> implicit_derivative(f=f,indvarlist=[x,y],orderlist=[2,3],depvar=z)(impdiff.mac
> line 36)
>  -- an error.  To debug this try debugmode(true);

I think there are 2 problems here.
(1) You need load("makeOrders") first.
(2) The array(f,2,3,function) isn't needed by Maxima, and its presence
triggers an error about something not being an array. Seems to work
OK if it is omitted.

(%i1) display2d : false;
(%o1) false
(%i2) load (impdiff);
(%o2) "/usr/local/share/maxima/5.14.0cvs/share/contrib/impdiff.mac"
(%i3) load ("makeOrders");
(%o3) "/usr/local/share/maxima/5.14.0cvs/share/contrib/makeOrders.mac"
(%i4) f[0,0] : x^2 + y^3 - z^4 = 0;
(%o4) -z^4+y^3+x^2 = 0
(%i5) implicit_derivative (f, [x, y], [2, 3], z);
(%o5) munlocal()
(%i6) arrayinfo (f);
(%o6) [hashed,2,[0,0],[0,1],[0,2],[0,3],[1,0],[1,1],[1,2],[1,3],
       [2,0],[2,1],[2,2],[2,3]]
(%i7) listarray (f);
(%o7) [-z^4+y^3+x^2 = 0,3*y^2/(4*z^3),
       (24*y*z^4-27*y^4)/(16*z^7),
       (96*z^8-648*y^3*z^4+567*y^6)/(64*z^11),x/(2*z^3),
       -9*x*y^2/(8*z^7),-(72*x*y*z^4-189*x*y^4)/(32*z^11),
       -(288*x*z^8-4536*x*y^3*z^4+6237*x*y^6)/(128*z^15),
       (2*z^4-3*x^2)/(4*z^7),-(18*y^2*z^4-63*x^2*y^2)/(16*z^11),
       -(144*y*z^8+(-378*y^4-504*x^2*y)*z^4+2079*x^2*y^4)
        /(64*z^15),
       -(576*z^12+(-9072*y^3-2016*x^2)*z^8
                 +(12474*y^6+49896*x^2*y^3)*z^4-93555*x^2*y^6)
        /(256*z^19)]


It seems strange for implicit_derivative to return munlocal(). Hmm.

Hope this helps,

Robert Dodier