2014 dxdy logo

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

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




 
 Программа для символьных вычислений не с числами?
Сообщение11.09.2006, 22:54 
Аватара пользователя
А есть ли прога, которая позволяет производить символьные вычисления в предположении, что за буквами стоят не числа, а другие объекты, например, векторы или булевы значения?

 
 
 
 
Сообщение11.09.2006, 23:00 
Аватара пользователя
:evil:
Я делал на Mathematica. Матрицы, произвольные группы, вектора, функции. Могут быть проблемы с выбором правильных обозначений.

 
 
 
 
Сообщение12.09.2006, 00:29 
Аватара пользователя
А я рекомендую Maple, который очень мощный в плане символьных вычислений.

Найдите тему "мат.софт" - там написано, где можно скачать эти проги нахаляву.

 
 
 
 
Сообщение12.09.2006, 00:41 
Аватара пользователя
У меня есть Maple, но я не знаю, как там делать символьные вычисления с векторами. Насколько я понял, там обязательно надо в покомпонентном виде координаты задавать. Вот тут мне не сказали, как это делать в Maple. Может, это вообще невозможно?

 
 
 
 
Сообщение12.09.2006, 00:56 
Аватара пользователя
Вектора символьных переменных нужно определять. В частности, например, определите sd так:

sd := array(1..10);

Тогда можно будет без проблем дифференцировать по sd[1], sd[2] и т.п.

 
 
 
 
Сообщение13.09.2006, 00:12 
Аватара пользователя
В том-то и дело, что вектор -- это не массив. Это -- математический объект, подчиняющийся определённым закономерностям. И я хочу оперировать с вектором, как с цельным объектом, без обращения к его компонентам и без введенися системы координат.

 
 
 
 
Сообщение13.09.2006, 00:55 
Аватара пользователя
Dims писал(а):
В том-то и дело, что вектор -- это не массив. Это -- математический объект, подчиняющийся определённым закономерностям. И я хочу оперировать с вектором, как с цельным объектом, без обращения к его компонентам и без введенися системы координат.

Приведите пример конкретной задачи.

 
 
 
 
Сообщение13.09.2006, 03:17 
Аватара пользователя
:evil:
(1) Упростить $ (a \times b) \times (c \times d) $.

(2) He упрощать $A B - B A$, т.е. не считать умножение коммунтативным.

 
 
 
 
Сообщение13.09.2006, 03:38 
Аватара пользователя
незваный гость писал(а):
(2) He упрощать $A B - B A$, т.е. не считать умножение коммунтативным.

Над первой надо подумать, а вот вторая решается в мапле через так называемые нейтральные операторы, например:
Код:
> simplify(A&*B-B&*A);
                        A &* B - B &* A

 
 
 
 
Сообщение13.09.2006, 03:43 
Аватара пользователя
Кстати, в мапле можно определять свои операторы с заданными свойствами. См. хелп по define и вот для примера: http://www.math.rwth-aachen.de/mapleAns ... l/802.html

 
 
 
 
Сообщение13.09.2006, 03:57 
Dims писал(а):
В том-то и дело, что вектор -- это не массив. Это -- математический объект, подчиняющийся определённым закономерностям. И я хочу оперировать с вектором, как с цельным объектом, без обращения к его компонентам и без введенися системы координат.

Например:
- Vector Calculus with Maple V - http://scylla.ceas.uwm.edu/361/maple.html
- VecCalc - A Vector Calculus Package for Maple - http://calclab.math.tamu.edu/maple/veccalc/

Есть и GRTensor II: http://grtensor.phy.queensu.ca/ (Может это слишком тяжелая артиллерия, но ведь вектор - это тоже тензор, хоть и рангом не вышел.)

 
 
 
 
Сообщение13.09.2006, 07:50 
Аватара пользователя
Конкретная задача.

Допустим, верна классическая механика, а Большой Взрыв -- это был просто взрыв, из которого в начальный момент времени разлетелись галактики. Допустим, в этот момент каждая галактика получила свою скорость отлёта и, соответстенно, к настоящему моменту улетела от центра взрыва тем дальше, чем больше была эта скорость.

Показать, что на какой бы галактике мы ни "сидели", нам будет казаться, что все остальные галактики разлетаются от нас с той же закономерностью, что и для центра взрыва.

С помощью векторов это решается в две строчки.

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


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