. Более ранней версии у меня уже давно нет. 12-ая версия дала тот же результат. Но в других случаях Maple символьно вычисляет неправильно [
], а бывает — численно неправильно.
При вычислении производной некоторой функции столкнулся с неожиданным поведением Simplify. Зададим функцию:
Код:
> Digits:= 21;
> WX := (2.55563401004781745174-54.9270360964131147719*r+453.595260432302775843*r^2-1676.71648513012367970*r^3+3899.51431792874436850*r^4-4189.74977935082353329*r^5+2101.79887112923141608*r^6-408.135347197421378084*r^7)/r^5;
Если производную вывести таким способом (способ 1):
Код:
> expand((diff(WX, r)));
или таким способом (способ 2):
Код:
> diff(expand(WX), r);
то результат не будет содержать слагаемого вида c/r, где с – некоторая константа. Однако, если выполнить:
Код:
> simplify(diff(WX, r));
то получим дополнительное слагаемое
0.500000000000000000000e-16/r, (*)
которого, конечно, быть не должно.
Складывается впечатление, что при выполнении приведения подобных слагаемых Simplify выполняет операции с меньшим числом знаков, чем присвоено Digits. Это не может быть естественной ошибкой округления, поскольку выражение для производной, возвращаемое diff:
(-54.9270360964131147719+907.190520864605551686*r-5030.14945539037103910*r^2+15598.0572717149774740*r^3-20948.7488967541176664*r^4+12610.7932267753884965*r^5-2856.94743038194964659*r^6)/r^5-5*(2.55563401004781745174-54.9270360964131147719*r+453.595260432302775843*r^2-1676.71648513012367970*r^3+3899.51431792874436850*r^4-4189.74977935082353329*r^5+2101.79887112923141608*r^6-408.135347197421378084*r^7)/r^6
содержит сумму:
-20948.7488967541176664*r^4/r^5 + 5*4189.74977935082353329*r^5/r^6,
которая, после приведения к общему знаменателю, выражение (*) не даст.
Замечу, что если Digits присвоить 10 (значение по умолчанию), то все равно способ 1 или способ 2 приведут к выражениям, не содержащим слагаемое (*).
Проверялось в версиях 10.00 и 7.00.
[...]
в 12-ой версии баг не исправлен.
(42 bugs, включая ошибки dsolve и rsolve) не нашел описанной в следующем сообщении (автор
) ошибки. Я проверил в 7-ой, 10.00-ой и 12.00-ой версиях Maple. В 7-ой и 12-ой версиях ошибка не наблюдается, в 10-ой наблюдается.