- •§2. Об аналитических преобразованиях
- •1. Стимулы к развитию систем аналитических вычислений
- •2. О некоторых выдающихся аналитических вычислениях в прошлом веке
- •3. Соотношение аналитических и численных вычислений
- •4. О связи компьютерной алгебры и систем аналитических вычислений
- •§3. О представлении данных в сав
- •1. Введение
- •2. Представление целых чисел
3. Соотношение аналитических и численных вычислений
Из сказанного в первом пункте ясно, что к недостаткам численного счёта относится следующее:
– неточность получаемого числового результата (ввиду накопления ошибок округления),
- -неустойчивость вычислений в ряде задач из-за накопления упомянутых выше ошибок,
– “сеточный” характер получаемого результата (т.е. возможность определить функцию лишь в узлах некоторой сетки),
– потеря существенной информации в процессе вычислений (получаемые числа не дают полной характеристики использованных формул).
Однако численные расчёты не исключают алгебраических вычислений: написание простейших программ требует вывода и переписывания формул, на которых основан алгоритм, а это можно поручить ЭВМ. Рост мощности компьютеров для описанных в
пункте 1 задач численного счёта не решает всех проблем; например,
расчёт развития атмосферных процессов с точностью, необходимой
для 48-часового прогноза, на наиболее мощных компьютерах (типа
CRAY) требует значительно больше 48 часов. Увеличение производительности в 10 раз едва ли поможет, ибо для уточнения прогноза нужно в 2 раза уменьшить шаг сетки (а значит, в 4 раза увеличить число неизвестных), что потребует 8-кратного увеличения объёма вычислений. Однако, можно надеяться, что комбинация численного счёта с аналитическими вычислениями приведёт к существенному успеху.
Особенности аналитических вычислений на ЭВМ состоят в следующем:
– имеется возможность проводить аналитические (и численные) преобразования без погрешностей,
– в результате не теряется исходная информация о характере исследуемого процесса,
– на этапе аналитических вычислений неустойчивость процесса не проявляется,
– в ряде случаев наблюдается быстрое (экспоненциальное) возрастание результатов промежуточных вычислений,
– ввиду упомянутого разрастания результатов резко повышаются требования к объёму памяти и к быстродействию компьютера,
– резко повышаются требования к предварительному изучению алгоритма: к оценке его быстродействия, необходимой памяти и к эффективному представлению результата,
– имеется возможность производить генерацию программ, использующих найденные формулы.
4. О связи компьютерной алгебры и систем аналитических вычислений
Понятие компьютерной алгебры появилось в связи с разработкой и применением систем аналитических вычислений. Цель компьютерной алгебры в изучении алгоритмов аналитических преобразований с точки зрения эффективной их реализации на ЭВМ.
Ввиду указанного в предыдущем пункте разрастания результатов промежуточных вычислений (которое часто имеет катастрофический характер) центральная задача компьютерной алгебры – оценка сложности аналитических выражений и длительности аналитических преобразований. Зачастую это сводится к оценке числа арифметических действий с входящими в аналитическое выражение символами. Поскольку размер символов обычно нетрудно оценить задача сводится именно к оценке числа операций. Заметим, часто результаты, связанные с анализом вычислительных алгоритмов, применимы и к компьютерной алгебре (с некоторым смещением акцента: кроме времени вычисления по той или иной формуле следует говорить также об оценке её длины, которая обычно пропорциональна указанному времени).
Наиболее популярными и достаточно мощными системами компьютерной алгебры общего назначения к настоящему времени является:
– MACSYMA (мало доступна),
– REDUCE (наиболее широко распростронена),
– muMATH (на микрокомпьютерах),
– SCRATCHPAD (новая система с ограниченным доступом).
Эти и ряд других не названных здесь систем обладают общими
свойствами:
– программирование интерактивное,
– данные представляют собой аналитические выражения,
– язык пользователя похож на Паскаль,
– языки реализации близки к языку ЛИСП (или совпадают с
ним).
Особенность работы состоит в том, что в отличие от численного
счёта здесь пользователь передоверяет ЭВМ много таких функций,
которые раньше он выполнял самостоятельно. Тем самым в ещё
большей степени, чем при численном счёте, утрачивается контроль
за проводимыми преобразованиями. Для того, чтобы в какой-то
степени уравновесить этот недостаток, пользователю необходимо
более детально, чем в процессе численного счёта, представлять се-
бе работу используемого программного продукта, т.е. хорошо пред-
ставлять себе результаты применения тех или иных операций и про-
цедур применяемой системы аналитических вычислений, а также
знать свойства применяемых алгоритмов (в отношении сложности
вычислений и длины промежуточных результатов).
