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

В комментарии к этой статье 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)


  1. maisvendoo
    10.07.2015 17:39
    +1

    Хотел написать автору статьи, но не нашел e-mail.

    Моя вина, в настройках профиля было выставлено умолчание — показывать контактные данные только тем, на кого подписан. Влез, исправил.

    Вот, собственно, мимо этого я и не смог пройти мимо.


    И очень хорошо, что не прошли мимо )
    Ваш обзор задает направление дальнейших поисков



  1. grafmishurov
    10.07.2015 19:10

    Я, прочитав заголовок, подумал, что про вычислительные методы что-то будет, а тут про софт.


  1. DreamWalker
    10.07.2015 20:59
    +1

    Пополню вашу подборку пакетом для R: rTensor.


  1. andy_p
    10.07.2015 22:26

    А maxima не поддерживает?


  1. OsipovRoman
    11.07.2015 11:07
    +1

    Не очень ясно, почему автор предпочел промолчать о том, что Wolfram Language (и Mathematica, само собой) имеют очень широкие возможности символьной работы с тензорами. См. Symbolic Tensors


    1. OsipovRoman
      11.07.2015 11:15
      +1

      Ну и еще, система Mathematica не «Разработанная в конце 80-х», а «Разрабатываемая с конца 80-х»., если быть точным, то с 1988 года.