МГУ имени М.В.Ломоносова
Физический факультет

Зачем теоретику компьютер?

Обычно думают, что компьютер нужен физику-теоретику исключительно для набора статей.

Кстати, довольно часто думают, что единственным текстовым редактором на свете является MSWord. А единственной операционной системой на свете является MSWindows во всех ее странноватых разновидностях. Это совсем не так.

Дело в том, что ориентация на массового потребителя (т.е. на человека, который не прочитал и не собирается читать документацию), забота о сервисе и оформлении программ, делает все эти программы неэффективными при настоящей работе. Набрать десяток страничек с элементарным оформлением, простенькой формулкой и парой картинок можно и на MSWord. Но настоящая научная статья с формулами, не говоря уж про книжку с большим количеством формул, сносок и прочего, потребует совершенно невероятных усилий и огромных затрат времени при наборе в MSWord. Причем результат выйдет довольно некачественный - формулы в MSWord выходят очень кривые.

Поэтому международным стандартом при наборе научных статей является TeX (или LaTeX). Сервиса там почти никакого, оформления нет совсем, его команды надо выучить, так что для новичка он очень неудобен. Но, как и все "неудобное" (например операционная система UNIX), он на порядок эффективнее и дает гораздо больше возможностей.


Иногда догадываются, что физику-теоретику есть что поискать в интернете.

Сейчас уже мало кто знает, что интернет и создан-то был именно физиками-теоретиками. Он зародился в ЦЕРНе, и в те благословенные времена состоял из научных статей, общедоступных программ и описаний к ним. Всего этого было очень мало, и найти нужное было весьма легко. С тех пор интернет превратился в гиганскую навозную кучу, искать в которой жемчужины становится все труднее и труднее. Но если знать, где искать, то найти все-таки можно.

Прежде всего, существует библиотека препринтов:
         xxx.lanl.gov
Ее русское зеркало:
         xxx.itep.ru
Большинство теоретиков перед тем, как послать статью в журнал, выкладывают ее в эту библиотеку.
Это решает массу проблем для авторов (например, проблемы с приоритетом и воровством результатов). Для остальных это облегчает и ускоряет доступ к тексту статьи.

Кроме того, существуют сайты научных журналов.
Любой поисковик легко находит сайт журнала по его названию. Обычно на таких сайтах доступны только оглавления (что тоже очень полезно), но периодически открывается доступ и к текстам статей.

Наконец, существуют пиратские сайты, на которых выложены отсканированные учебники и монографии по теоретической физике и математике.
Эта деятельность совершенно незаконна, и мы ее горячо приветствуем. Мы не призываем нарушать закон, мы просто приветствуем. При нынешних ценах на книги, при нынешних стипендиях, при нынешних зарплатах ученых и преподавателей эта деятельность совершенно необходима. Кроме того, многие очень полезные книги чрезвычайно давно не переиздавались.


Как ни странно, еще компьютер нужен физику-теоретику для численного счета.

Вообще-то обычно ценность численного ответа близка к нулю. Любой (сколь угодно неточный) аналитический ответ (т.е. явная формула) гораздо предпочительнее (сколь угодно точного) численного ответа (т.е. россыпи цифр). Однако, иногда аналитический ответ уж никак не получается. Тогда остается только численный счет. Кроме того, иногда численный счет помогает получить аналитический ответ, потому что он помогает понять, что именно происходит в системе. Когда точно знаешь, чем можно пренебречь, а что надо оставить, когда знаешь общих характер поведения системы, обычно можно подобрать и приближенное аналитическое решение.

Поэтому знание численных методов есть такой же необходимый инструмент физика-теоретика, как умение считать интегралы, коммутировать операторы, рисовать диаграммы Фейнмана, и т.п.

Чтобы заниматься численным счетом, теоретик должен уметь пользоваться современными компьютерами и знать, что такое параллельные вычисления

Современный компьютер - это вовсе не IBM PC. Современный компьютер - это рабочая станция с несколькими процессорами, а то и вовсе суперкомпьютер, в котором количество процессоров измеряется сотнями. Писать программы для такого компьютера надо умеючи. Как ни странно, научиться параллельному программированию (протокол MPI) можно и без суперкомпьютера. Достаточно нескольких обычных компьютеров, общающихся между собой по сети. Судя по всему, параллельные вычисления - это будущее численного счета. (В том, что проект GRID - это будущее численного счета, авторы не вполне уверены). Уже сейчас во многих институтах (например, в НИВЦ МГУ) сооружены "суперкомпьютеры для бедных" - вычислительные кластеры, состоящие из десятков обычных PC. Конечно, по средней производительности они значительно уступают "настоящим" суперкомпьютерам, но зато и цена их на несколько порядков меньше. Кроме того, для задач, которые не требуют интенсивного обмена данных между процессорами, производительность кластера может быть сопоставима с производительностью "настоящего" суперкомпьютера.

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


Наконец, компьютер нужен физику-теоретику для аналитического счета.

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

В этом случае спасением являются системы аналитических вычислений, которые позволяют работать с формулами. (Более того, они позволяют работать с достаточно сложными формулами, например с формулами, в которые входят некоммутирующие между собой операторы или вектора гильбертовых пространств). Если Вы сумеете объяснить системе, какие именно выкладки хочется проделать, то она их проделает и выдаст гарантированно правильный результат. Но думать за Вас система не будет: если ход выкладок непонятен Вам, то обычно он непонятен и системе. Лишь изредка (очень редко!) встроенные в систему функции упрощения и преобразования выражений могут увидеть то, что не видно Вам, и достичь результата.

Приведем совершенно бессмысленный, зато очень простой пример. Пусть Вам хочется раскрыть скобочки в выражении (x+y)3, а потом зачем-то факторизовать выражение обратно. Тогда надо написать программу:

           z:expand( (x+y)**3 );
     factor(z);

и запустить MAXIM'у. В результате получится:

           x**3+3*x**2*y+3*x*y**2+y**3
     (x+y)**3

Первой системой аналитических вычислений была MAXIMA, затем появился язык аналитических вычислений REDUCE, потом появились Maple и Mathematica. (К системам MathCad и MathLab не стоит относится серьезно). Опыт показывает, что научившись работать с одной из этих систем, потом легко воспользоваться и любой другой: различия между ними сводятся почти исключительно к синтаксису. При этом возможности любой из систем практически неограниченны, главное понять, как именно заставить ее работать, а такое понимание вовсе не сводится к знанию синтаксиса. Системы аналитических вычислений - это чрезвычайно полезный инструмент (хотя он и не заменяет умения считать ручкой на бумаге), и владение этим инструментом весьма расширяет возможности физика-теоретика.

В.А.Ильина, П.К.Силаев