Есть ли у кого-нибудь опыт в создании предположений о координатах в пакете дифференциальной геометрии Maple?
Моя проблема в том, что я пытаюсь вычислить некоторые операторы Лапласа-Бельтрами. В Maple есть эта команда, но вывод иногда почти нечитаем из-за множества функции. Я попытался создать простой пример: настройка фрейма и римановой метрики, например
DGsetup([x], R);
h := evalDG(dx &t dx/(x^2+1)^2);
а затем попытаться оценить
Laplacian(h, f(x));
возвращается
Очевидно должно быть но Maple не считает как реальная переменная. В этом примере это неплохо, но в более высоких измерениях эта проблема делает вычисления совершенно бесполезными. Но, бег
Laplacian(h, f(x)) assuming x::real;
возвращается
. Кроме того, я не могу использовать assume
координаты, так как они защищены.
На странице справки Maple на DGconjugate упоминается, что переменные координат считаются реальными, но, вероятно, это только так для целей этой команды.
У кого-нибудь была похожая проблема, и вы нашли удовлетворительный обходной путь?
Вы все еще можете использовать это предположение для результата команды Laplacian
. simplfy
Вы можете использовать его , например, при вызове .
Например,
restart;
with(DifferentialGeometry):
DGsetup([x], R):
h := evalDG(dx &t dx/(x^2+1)^2):
result := Tensor:-Laplacian(h, f(x)):
simplify(result) assuming x::real;
Это будет проще, чем вычислять все подстановки вручную.
Я часто использую этот пакет и не знаю, как решить эту проблему, используя функциональность
package, но всегда можно удалить эти выражения на специальной основе, используя процедуру subs()
:
with(DifferentialGeometry):
DGsetup([x], R);
h := evalDG(dx &t dx/(x^2+1)^2);
subs({sqrt((x^2+1)^2) = x^2 + 1, csgn(x^2+1) = 1}, Tensor:-Laplacian(h, f(x)));
Это дает более чистый вывод
Дмитрий