March 3rd, 2012

Alex-Vinokur-002

Операция «Тевтонский меч» как способ решения системы линейных уравнений

   Операция «Тевтонский меч» как способ решения системы линейных уравнений

   Связано со студенческой порой на мехмате МГУ.

   Одним из курсов был «Методы вычислений» (по книге И.С.Березина и Н.П.Жидкова «Методы вычислений»; леции читал И.С.Березин). На семинарских занятиях каждый студент получил задачу, которую должен был запрограммировать (на ALGOL-60), прогнать на ЭВМ (М-20, кажется; но к самой машине мы не подходили; отдавали перфокарты с программой в вычислительной лаборатории, там же получали и результаты прогона), результаты принести на зачёт.
     Задача, которую получил я, – найти решение системы линейных алгебраических уравнений. Начали программировать, пропускать на ЭВМ. У некоторых дело двигалось быстрее, у некоторых медленнее, у некоторых совсем медленно. А время зачёта приближалось. Если никак не удавалось получить решение с помощью требуемой программы, тогда студентами применялась операция, которая почему-то получила название «Тевтонский меч». Писалась другая программа, которая состояла из четырех частей:
          1) ввод исходных данных (эта часть переносилась из требуемой программы);
          
2) «как бы вычисления» (чтобы показать преподавателю), эта часть игнорировалась при вычислениях;
           3) ввод результатов; эти результаты как-то вычислялись вручную и, возможно, отличались от правильных
(Замечание. Видимо, преподаватели не всегда имели правильные результаты для задачи каждого студента);
           4) печать результатов.
     Пропустив такую программу и получив распечатку «результатов», я пришел на зачёт. Каким-то образом мне удалось убедить преподавателя в правильности представленного мной. Он уже собирался ставить мне зачёт и тут (ради дальнейшей сцены это и пишется), почувствовав себя хозяином положения, я нахально решил побеседовать с преподавателем как коллега с коллегой и обратить его внимание на интересную особенность системы линейных уравнений, которую я «решил» (эту особенность я заметил еще в период написания программы, но не придал ей значения): коэффициенты первого и второго уравнений системы были почти пропорциональны. Я поделился своим наблюдением с преподавателем. «Графиня изменившимся лицом бежит к пруду» – так можно было бы охарактеризовать его реакцию. Как я сдал этот зачёт, я уже не помню (факт, что сдал). Но с тех пор я стараюсь не совмещать несовместимое (в данном конкретном случае: зачёты/экзамены – отдельно, научные беседы – отдельно).
   Примечание. Если коэффициенты уравнений системы (линейных алгебраических уравнений) почти пропорциональны, то определитель матрицы близок к нулю. В этом случае действуют другие правила вычислений. Т.е. «решение» системы, которое я представил, не имело ничего общего с реальным решением.

http://samlib.ru/w/winokur_a_b/mehmat1.shtml
http://www.poesis.ru/poeti-poezia/vinokur/univer.htm#Article2