Maple 9.5/10 в математике, физике и образовании (Дьяконов) - страница 13

, задания на вычисление задаются в виде символьных (формульных) выражений и результаты вычислений также получаются в символьном виде. Численные результаты при этом являются частными случаями результатов символьных вычислений.

К примеру, попытка вычислить в общем виде выражение sin(x)²+cos(x)²=1 с помощью численных математических систем или программ на обычных языках программирования к успеху не приведет. Вместо ожидаемого результата появится сообщение об ошибке вида: «Переменная х не определена!».

СКА не только не боятся применения неопределенных переменных, но и предпочитают работать с ними. Зададим, к примеру, в Maple 9.5 квадратное уравнение, присвоив его выражение переменной eq (файл solve):

>> eq:=a*x^2+b*x+c=0;

eq:= ах² + bx + с = 0

Проверим статус переменной х.

>> х;

x

Переменная просто повторена в выводе, что и указывает на то, что она неопределенная. Теперь попробуем решить уравнение, используя функцию solve:

>> solve(eq,x);


Получено хорошо известное решение для квадратного уравнения. А теперь попробуем найти аналитическое решение для других переменных a, b и с:

>> solve(eq,а);

>> solve(eq,b);

>> solve(eq,с);

-ax² - bx

Решение прошло успешно — во всех случаях пoлvчeны аналитические выражения для решения. Они более тривиальные, чем решение eq относительно х.

Не следует считать решения в аналитическом виде ограничением СКА. Большинство СКА, в том числе и Maple 9.5/10 легко решают подавляющее большинство задач и в численном виде и являются универсальными СКМ. Так, определив переменные а, b и с, присвоением им некоторых значений

>> а:=2:b:=3:с:=4:

получим решение в численном виде:

>> solve(eq,х);

Оно получено в виде комплексно-сопряженных чисел, в них I это мнимая единица, т. е. √-1.

1.2.5. Данные о скорости вычислений в Maple 9.5

В последних реализациях Maple много внимания было уделено повышению скорости вычислений. Система Maple 8, к примеру, вычисляла факториал максимально возможного числа 32000, затрачивая на это (на ПК с процессором Pentium III 600 МГц) 2,784 с [22]. A Maple 9.5 на современном ПК с процессором Pentium 4 Hyper Threading 2,6 ГГц справляется с этим в более чем в двадцать раз быстрее (файл bench):

>> restart: t := time(): 32000!: TIME-time()-t;

TIME = 0.125

Разумеется, выигрыш в скорости в данном случае обусловлен как применением более скоростного компьютера, так и системы Maple 9.5. К примеру, на том же компьютере Maple 8 выдала результат за 0,583 с, a Maple 7 — 0,610 с. Таким образом, скорость вычисления у Maple 9.5 в данном случае (при равных аппаратных возможностях) оказалась выше более чем вдвое. Любопытно, что при повторном выполнении этой команды время выполнения было показано нулевым, что свидетельствует об эффективном кэшировании программных кодов.