Проект . Основные мотивы

После выхода в свет книги [1] у нас появилась потребность в вычислениях в пространстве функций, определенных на интервале (ab) числовой оси. Все, чем мы обычно располагаем для задания таких функций, это кусочное описание формулами. Но разбиение отрезка (ab) на "куски" может быть различным для разных функций и может изменяться в результате операций над функциями. Поэтому как разбиение отрезка на "куски", так и выражения, задающие функцию на этих "кусках", являются составными частями структуры, содержащей описание кусочно заданной функции.

Maple имеет подходящую для этих целей структуру данных – piecewise-выражения. Однако, к сожалению, в ходе наших попыток работать с piecewise-выражениями обнаружилось, что Maple (независимо от версии) некорректно работает с ними. Пример ошибки можно посмотреть здесь.

Поэтому было решено ограничиться более примитивным представлением кусочно заданной функции (см. Основные типы данных).

Интегральные операторы

в пространстве задаются их ядрами K(ts). Ядра операторов также могут быть кусочно заданными. Границы "кусков", на которые разбивается квадрат (ab) x (ab), могут быть прямыми (отрезками прямых). Строго говоря, в качестве функций, задающих границы кусков, могут применяться не только линейные, но и любые другие функции, для которых Maple способен найти обратную функцию. Функция l2_Kcheck в этом случае указывает на ошибку, но пользователь может попытаться произвести вычисления "на свой страх и риск".

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

Версия Maple V R4 (Campus Wide Version) была выбрана в силу ее общедоступности: согласно [3](с. 99), она "свободно распространяется на CD-ROM и по сети Internet. Однако она может использоваться пользователями только для целей образования, но не для коммерческих целей".

Указанная книга явилась для меня единственным, кроме англоязычного help'а самой системы, источником сведений о программировании в Maple V R4. Она написана явно наспех и не всюду осмысленно; часто мы встречаем в ней просто не всегда грамотный подстрочный перевод help'а (см.). Тем не менее она оказалась очень полезна для работы, за что я хотел бы выразить ее автору и издательству свою искреннюю признательность.