Читаем Расследование и предупреждение техногенных катастроф. Научный детектив полностью

Таким образом, мы убеждаемся, что одна из важнейших и известнейших математических теорем основана не на доказательстве, а на предрассудке — на привычном, но ложном убеждении большинства математиков в том, что эквивалентные преобразования якобы «ничего не меняют». Я опрашивал многих — и выпускников университетов, и их преподавателей: «как по-вашему — верна ли теорема о непрерывной зависимости для всех систем уравнений?» Все дружно отвечали: «да, верна. Верна потому, что для систем из n уравнений первого порядка в учебниках дано доказательство, а остальные системы приводятся к ним путем эквивалентных преобразований, которые «ничего не меняют»».

Мы убеждаемся, что предрассудки существуют и в математике, и предрассудки далеко не безобидные, поскольку они оказываются потом причиной многих техногенных катастроф с гибелью людей. И когда в книгах [1], [2], [3] опровергаются некоторые привычные положения и методики, то это не означает, что опровергаются какие-либо доказанные теоремы. Нет, они не опровергаются, а просто показывается необоснованность ставших привычными предрассудков. И в этом нет ничего страшного.

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

А теперь идет самое интересное: посмотрите внимательно — как, каким образом формулируется теорема о непрерывной зависимости решений от параметров во всех перечисленных мною учебниках — от В. В. Степанова до В. И. Арнольда. Ни в одном из них не сказано: «теорема верна для всех систем уравнений, поскольку для систем из n уравнений первого порядка доказательство приведено, а остальные системы приводятся к ней эквивалентными преобразованиями». Это положение не высказано, оно «домысливается» преподавателями, а за ними — и студентами, слушающими лекции. Почему избран такой странный стиль изложения с необходимостью «домысливания»? Здесь можно высказать только догадку, или — как говорят «детективы» — версию. Вот эта версия: уважаемые авторы учебников понимали желательность дать доказательство этой важнейшей теоремы для всех систем — а не только состоящих из n уравнений первого порядка. Они пытались найти такое доказательство, но у них ничего не получилось. Теперь мы знаем, что получиться и не могло, поскольку в общем случае теорема (как показано в [2]) — не верна. Тогда они предпочли формулировку с необходимостью «домысливания», рассуждая (возможно) следующим образом: если теорема в дальнейшем будет доказана для всех систем, то «домысливание» окажется правильным и все будет в порядке. Если же теорема в общем виде будет опровергнута, то мы, авторы учебников, чисты: у нас сформулировано лишь верное утверждение о системах, состоящих из n уравнений первого порядка, а за «домысливание» мы не отвечаем.

Хотя это только «версия», но возможно, что так все и было (подробнее о данном вопросе — в [3] и в [12]).

§ 12. Опасные ошибки, обнаруженные в популярных пакетах прикладных программ (MATLAB, Mathcad и других). Методы предотвращения ошибок

В последние годы для различных расчетов все шире используются популярные пакеты прикладных программ — пакеты MATLAB, Mathcad и многие другие. В ходе исследования, проведенного в СПбГУ, в этих пакетах были обнаружены ошибки. Эти ошибки можно исправить, и их очень нужно исправить, поскольку на основе этих пакетов производятся миллионы расчетов, в том числе и очень ответственных расчетов, поэтому цена ошибки может быть велика, ценой может стать техногенная катастрофа. Рассмотрим эти ошибки.

1. При численном решении систем дифференциальных уравнений первым этапом решения во всех этих пакетах является приведение исходной системы к системе n уравнений первого порядка путем эквивалентных преобразований. На втором этапе отыскивается решение преобразованной системы. Данный подход имеет под собой серьезные основания — он позволяет самые разнообразные системы уравнений решать одной программой. Если же первый этап пропустить, то пришлось бы создавать множество программ — потребовались бы, например, отдельные программы для системы, состоящей из одного уравнения третьего порядка и одного — первого порядка и для системы, состоящей из двух уравнений второго порядка и вообще потребовалось бы множество программ. Порядок, принятый в популярных пакетах, гораздо удобнее — но он приводит к ошибкам при встрече с «особыми» системами, например — с системой (21) при т = 1.

Пакет MATLAB приведет эту систему к системе уравнений первого порядка, выдаст ее решение и не заметит, что это решение не имеет смысла, поскольку даже сколь угодно малое, а значит — неизбежное на практике отклонение параметра т от расчетного значения т = 1 приведет к коренному расхождению между результатами расчета и реальным поведением объекта, и это может стать причиной аварии и даже катастрофы.

Перейти на страницу:
Нет соединения с сервером, попробуйте зайти чуть позже