Написать эту статью меня сподвигло отсутствие возможности оставлять комментарии, не имея инвайта. Хотел написать автору статьи, но не нашел e-mail. Вот, собственно, и сама статья, даже целый цикл статей, посвященный тензорному исчислению.
В комментарии к этой статье ZloAlien поинтересовался математическими пакетами для работы с тензорами, на что автор maisvendoo ему сообщил, что может быть Maple 18, и приложил картинку с выводом функций пакета tensor. Вот, собственно, мимо этого я и не смог пройти мимо.
Системы компьютерной алгебры СКА (computer algebra system, CAS) используются для символьных вычислений. Их не мало, но мы здесь остановимся на тех с которыми мне пришлось столкнуться, как раз при поиске наиболее подходящей для себя.
Итак, по порядку:
Разработанная в конце 80-х Стивеном Вольфрамом содержит среди прочего пакет Tensors in Physics для работы с тензорами. Судя по описанию, может выполнять основные действия над тензорами. Однако при поиске подходящего для себя пакета СКА я отказался от Mathematica по простой причине — листинг, или как его правильно назвать, вообщем-то, что видно на экране, очень напоминает код, трудный для восприятия. Вот пример, тензор Леви-Чивиты, кстати названный в честь известного итальянского математика Ту?ллио Ле?ви-Чиви?та, можно сказать, стоявшего у истоков тензорного исчисления и много сделавшего для его развития. Как известно, при работе над Общей теорией относительности Альберту Энштейну пришлось освоить и широко использовать тензорное исчисление. Вот пара цитат:
и
Думаю, этим и объясняется, тот факт, что вначале тензорное исчисление широко использовалось только физиками-теоретиками, изучающими теорию относительности, теория поля и гравитации и т.п. Мне встречались записи, типа
Redberry открытая система компьютерной алгебры, разрабатываемая и поддерживаемая нашими соотечественниками, что само по себе отрадно. Однако, Redberry предназначена для работы с абстрактными тензорами (с использованием стандартной эйнштейновской нотации). Такие задачи обычно возникают в физике высоких энергий. При этом можно задавать произвольные симметрии тензоров, брать производные, объявлять функции и т.п. Redberry не позволяет задать конкретные компоненты тензора. Например, в Redberry можно упростить выражение
d f_i(x) / d x_i + g^{ab} d f_a(x) / d x_b = 2 d f_i(x) / d x_i
где d f_i(x) / d x_i — дивергенция вектора f_i, а g^{ab} — метрический тензор; однако нельзя задать конкретные компоненты этого вектора (напр. f_0 = x_1*x_2, f_1 = … и т.п.). Поэтому довести расчет до «цифры» нельзя. Для меня этот момент является принципиальным. Поэтому, увы, идем дальше.
Программный пакет Maple разрабатывается компанией Waterloo Maple с начала 80-х. Maple ранее содержал пакет tensor для работы с тензорами, сейчас этот пакет вошел в состав пакета DifferentialGeometry Package, работа с ним в свое время меня, действительно, не особо впечатлила. Однако, многое изменилось с появлением пакета Physics разрабатываемого под руководством Dr. Edgardo Cheb-Terrab. Отмечу, как я считаю, основные преимущества:
1. Формат вывода расчетов, как если бы мы работали с карандашом и бумагой.
Например:
2. Внятный и удобный Help. Пример, тензор Леви-Чивиты, сравните с анлогичной ссылкой пакета Mathematica.
3. Площадка для общения, обмена мнениями, вопросов-ответов и т.д.
Другие СКА для работы с тензорами, заинтересованный читатель, может найти здесь.
Спасибо за внимание.
В комментарии к этой статье ZloAlien поинтересовался математическими пакетами для работы с тензорами, на что автор maisvendoo ему сообщил, что может быть Maple 18, и приложил картинку с выводом функций пакета tensor. Вот, собственно, мимо этого я и не смог пройти мимо.
Системы компьютерной алгебры СКА (computer algebra system, CAS) используются для символьных вычислений. Их не мало, но мы здесь остановимся на тех с которыми мне пришлось столкнуться, как раз при поиске наиболее подходящей для себя.
Итак, по порядку:
Mathematica
Разработанная в конце 80-х Стивеном Вольфрамом содержит среди прочего пакет Tensors in Physics для работы с тензорами. Судя по описанию, может выполнять основные действия над тензорами. Однако при поиске подходящего для себя пакета СКА я отказался от Mathematica по простой причине — листинг, или как его правильно назвать, вообщем-то, что видно на экране, очень напоминает код, трудный для восприятия. Вот пример, тензор Леви-Чивиты, кстати названный в честь известного итальянского математика Ту?ллио Ле?ви-Чиви?та, можно сказать, стоявшего у истоков тензорного исчисления и много сделавшего для его развития. Как известно, при работе над Общей теорией относительности Альберту Энштейну пришлось освоить и широко использовать тензорное исчисление. Вот пара цитат:
В одном из писем, касающемся новой работы Леви-Чивиты, Эйнштейн писал: «Я восторгаюсь элегантностью Вашего метода вычислений; как, должно быть, приятно скакать через эти поля на жеребце чистой математики, в то время как остальные должны утомительно переставлять ноги».
и
По воспоминаниям Д.Я.Стройка, когда уже после смерти Леви-Чивиты Эйнштейну задали вопрос о том, что ему больше всего нравится в Италии, он ответил: «спагетти и Леви-Чивита»
Думаю, этим и объясняется, тот факт, что вначале тензорное исчисление широко использовалось только физиками-теоретиками, изучающими теорию относительности, теория поля и гравитации и т.п. Мне встречались записи, типа
О, это пакет tensor, но он вам не нужен, его понимают только физики-теоретики
Redberry
Redberry открытая система компьютерной алгебры, разрабатываемая и поддерживаемая нашими соотечественниками, что само по себе отрадно. Однако, Redberry предназначена для работы с абстрактными тензорами (с использованием стандартной эйнштейновской нотации). Такие задачи обычно возникают в физике высоких энергий. При этом можно задавать произвольные симметрии тензоров, брать производные, объявлять функции и т.п. Redberry не позволяет задать конкретные компоненты тензора. Например, в Redberry можно упростить выражение
d f_i(x) / d x_i + g^{ab} d f_a(x) / d x_b = 2 d f_i(x) / d x_i
где d f_i(x) / d x_i — дивергенция вектора f_i, а g^{ab} — метрический тензор; однако нельзя задать конкретные компоненты этого вектора (напр. f_0 = x_1*x_2, f_1 = … и т.п.). Поэтому довести расчет до «цифры» нельзя. Для меня этот момент является принципиальным. Поэтому, увы, идем дальше.
Maple
Программный пакет Maple разрабатывается компанией Waterloo Maple с начала 80-х. Maple ранее содержал пакет tensor для работы с тензорами, сейчас этот пакет вошел в состав пакета DifferentialGeometry Package, работа с ним в свое время меня, действительно, не особо впечатлила. Однако, многое изменилось с появлением пакета Physics разрабатываемого под руководством Dr. Edgardo Cheb-Terrab. Отмечу, как я считаю, основные преимущества:
1. Формат вывода расчетов, как если бы мы работали с карандашом и бумагой.
Например:
2. Внятный и удобный Help. Пример, тензор Леви-Чивиты, сравните с анлогичной ссылкой пакета Mathematica.
3. Площадка для общения, обмена мнениями, вопросов-ответов и т.д.
Другие СКА для работы с тензорами, заинтересованный читатель, может найти здесь.
Спасибо за внимание.
Комментарии (7)
grafmishurov
10.07.2015 19:10Я, прочитав заголовок, подумал, что про вычислительные методы что-то будет, а тут про софт.
OsipovRoman
11.07.2015 11:07+1Не очень ясно, почему автор предпочел промолчать о том, что Wolfram Language (и Mathematica, само собой) имеют очень широкие возможности символьной работы с тензорами. См. Symbolic Tensors
OsipovRoman
11.07.2015 11:15+1Ну и еще, система Mathematica не «Разработанная в конце 80-х», а «Разрабатываемая с конца 80-х»., если быть точным, то с 1988 года.
maisvendoo
Моя вина, в настройках профиля было выставлено умолчание — показывать контактные данные только тем, на кого подписан. Влез, исправил.
И очень хорошо, что не прошли мимо )
Ваш обзор задает направление дальнейших поисков