дифференцирующие зависимости - PullRequest
0 голосов
/ 24 сентября 2018

Я хочу понять, как работают зависимости в Maxima для дифференцированных случаев.Я пробовал здесь:

(%i1)   depends([f],[x,y]);    
  (%o1) [f(x,y)]

(%i2)   depends([g],[x,y]);
(%o2)   [g(x,y)]

(%i3)   depends([x,y],[ε]);
(%o3)   [x(ε),y(ε)]

(%i4)   diff(g,ε);
(%o4)   (g[y])*(y[ε])+(g[x])*(x[ε])

(%i5)   h(x,y):=f(x,y)+g(x,y);
(%o5)   h(x,y):=f(x,y)+g(x,y)

(%i6)   diff(h(x,y),ε);

(%o6)   g(x,y)[ε]+f(x,y)[ε]

(%i7)   diff(h,ε);
(%o7)   0

В (% o4) я получаю полную производную по \ epsilon.Тогда как в (% o6) производные x и y по \ epsilon не показаны.Зачем?И можно ли заставить Maxima показывать эти производные в результате?

1 Ответ

0 голосов
/ 24 сентября 2018

Зависимости, объявленные depends, распознаются только для символических, неопределенных функций.Зависимость связана с именем функции (символом).

Функция с фактическим определением, определенным := или define, не распознается.Тело функции может содержать любую комбинацию других функций, поэтому единственный способ узнать, от каких других функций зависит функция, - это оценить тело функции.Вот что происходит, когда ты пишешь diff(h(x, y), ε).

...