Приведение подобных слагаемых

Форум пользователей пакета Maple

Модератор: Admin

Maxxxu
Сообщения: 3
Зарегистрирован: Пт мар 06, 2009 7:26 pm

Приведение подобных слагаемых

Сообщение Maxxxu » Пт мар 06, 2009 7:39 pm

Добрый день! Помогите пожалуйста решить такую проблему: в ходе решения в Maple получаю следующее выражение (z1,z2 - комплексные):

Код: Выделить всё

H22 := 3/8*conjugate(z1)^2*p*z1^2+3/8*conjugate(z1)^2*p*z2^2+3/2*conjugate(z1)^2*q*z1*z2+3/2*conjugate(z1)*p*z1*z2*conjugate(z2)+3/2*conjugate(z1)*q*z1^2*conjugate(z2)+3/8*p*z1^2*conjugate(z2)^2-9/8*p*z2^2*conjugate(z2)^2-9/16*conjugate(z1)^2*z1^2-9/16*conjugate(z1)^2*z2^2-9/4*conjugate(z1)*z1*z2*conjugate(z2)-9/16*z1^2*conjugate(z2)^2-9/16*z2^2*conjugate(z2)^2;


Видно, что в нём довольно много подобных слагаемых, но Maple с помощью команды simplify упрощает как-то по-своему :(

Есть ли способ как-то эти слагаемые "сгруппировать"?
Заранее спасибо.

aar
Сообщения: 100
Зарегистрирован: Чт авг 10, 2006 11:27 am

Сообщение aar » Сб мар 07, 2009 9:36 am

Код: Выделить всё

> evalc(H22);

(3/8)*z1^4*p+(9/4)*p*z1^2*z2^2+3*q*z1^3*z2-(9/8)*p*z2^4-(9/16)*z1^4-(27/8)*z1^2*z2^2-(9/16)*z2^4

GAA
Сообщения: 102
Зарегистрирован: Вт сен 30, 2003 2:47 pm
Откуда: Донецк

Сообщение GAA » Вт мар 10, 2009 6:02 pm

aar писал(а):

Код: Выделить всё

> evalc(H22);

(3/8)*z1^4*p+(9/4)*p*z1^2*z2^2+3*q*z1^3*z2-(9/8)*p*z2^4-(9/16)*z1^4-(27/8)*z1^2*z2^2-(9/16)*z2^4

Я тоже думал, что evalc упрощает заданное выражение. Я грубо ошибался. В следующем коде сравнивается упрощение результата подстановки значений в исходное выражение и выражение, полученное в результате применения evalc. Результаты не совпадают.

Код: Выделить всё

> restart;
> H22 := 3/8*conjugate(z1)^2*p*z1^2+3/8*conjugate(z1)^2*p*z2^2+3/2*conjugate(z1)^2*q*z1*z2+3/2*conjugate(z1)*p*z1*z2*conjugate(z2)+3/2*conjugate(z1)*q*z1^2*conjugate(z2)+3/8*p*z1^2*conjugate(z2)^2-9/8*p*z2^2*conjugate(z2)^2-9/16*conjugate(z1)^2*z1^2-9/16*conjugate(z1)^2*z2^2-9/4*conjugate(z1)*z1*z2*conjugate(z2)-9/16*z1^2*conjugate(z2)^2-9/16*z2^2*conjugate(z2)^2;

> simplify(subs(z1=1, z2= I, H22));
            -9/4
> simplify(subs(z1=0, z2= I, evalc(H22)));
            -9/8*p-9/16

В справке (Maple 7, Maple 12) написано: “The fundamental assumption that evalc makes is that unknown variables represent real-valued quantities” [«Основное предположение, которое делает evalc, заключается в том, что неизвестны переменные представляют действительные значения величин»]. Т.е. z1 и z2, в рассматриваемом примере, считаются действительными, поэтому результаты и не совпадают.