2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Как назначить функции степень? [Maple]
Сообщение19.10.2008, 17:24 
Добрый день! Можно ли в Maple некоторой абстрактной функции-полиному "присвоить" определенную степень?
Попробую объяснить менее запутанно.

Пусть $$f(x,y)$$ - полином (степени по $$x$$ и $$y$$ одинаковые). Можно ли как-то объявить deg(f(x,y)) := 3 (4, 5, ... - не важно), чтобы это еще учитывалось бы и при дифференцировании, то есть (условный код):
deg(f(x,y)) := 3;
g(x,y) := diff(f(x,y));
deg(g(x,y)) = ? --> Ответ: 2

Кроме того, выражения вроде $$y \cdot \frac{\partial f(x,y)}{\partial x}$$ воспринимались бы как имеющие суммарно 3-ю степень для данного случая?

У меня начинают появляться опасения, что мои задачи становятся слишком сложными, чтобы делать их в Maple... да и вообще в любом другом математическом пакете... :(

 
 
 
 Re: Как назначить функции степень? [Maple]
Сообщение22.10.2008, 17:37 
Marika писал(а):
Пусть $$f(x,y)$$ - полином (степени по $$x$$ и $$y$$ одинаковые). Можно ли как-то объявить deg(f(x,y)) := 3 (4, 5, ... - не важно), чтобы это еще учитывалось бы и при дифференцировании, то есть (условный код):
deg(f(x,y)) := 3;
g(x,y) := diff(f(x,y));
deg(g(x,y)) = ? --> Ответ: 2
Кроме того, выражения вроде $$y \cdot \frac{\partial f(x,y)}{\partial x}$$ воспринимались бы как имеющие суммарно 3-ю степень для данного случая?

Совершенно не понятно, что Вы хотите сделать. Например, как может быть такое: степени $m$ и $n$ равны $f_{m,n}(x,y)$, но $m+n=3$.
Попробую угадать.
Я привык, что не полиному присваивают степень, а создают полином заданной степени (либо усекают полином до заданной степени). Назовем функцию создать полином заданной степени CreatePoly:
Код:
> CreatePoly:= proc(n, p1, p2)
    local i,j;
    description "Create polinom ....";
    unassign(a);
    sum(sum(a[n-i,n-j]*p1^i*p2^j, j=0..n), i=0..n);
  end proc:

Теперь можно создать многочлен
Код:
> f:= CreatePoly(3, x, y);

Его суммарная степень
Код:
> degree(f, {x,y});
будет равна 6.
Продифференцируем, умножим на y, и снова посмотрим степень
Код:
> f:= y*diff(f, x);
> degree(f, {x,y});
Она по-прежнему равна 6.

 
 
 [ Сообщений: 2 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group