Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Mathematica 5. ╨б╨░╨╝╨╛╤Г╤З╨╕╤В╨╡╨╗╤М

.pdf
Скачиваний:
1
Добавлен:
19.11.2023
Размер:
33.75 Mб
Скачать

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

Александру Вадимовичу Слепцову за предложение написать эту книгу и разнооб­ разную помощь в реализации этого проекта. Без его помощи и поддержки эта книга не была бы написана.

Александру Александровичу Минько — за то, что учил меня настоящим основам ре­ дактирования книг и всевозможным типографским терминам, а главное — за советы, постоянную помощь и поддержку в моих первых постсоветских опытах редактирова­ ния книг. Несколько раз еще во времена развитого марксистско-ленинского застоя я давал себе обещание никогда больше не переступать пороги издательств. Если бы не Александр Александрович, я бы все-таки это обещание выполнил. Именно благодаря ему я нашел издательство, в которое прихожу с радостью.

Людмиле Николаевне Важениной, Татьяне Петровне Кайгородовой, Ирине Алексеевне Поповой, Ирине Александровне Шишкиной, Екатерине Петровне Перестюк и Полине Николаевне Мачуге за то, что учили меня правильно применять правила русского языка, стоически исправляли все мои опечатки и переводили мои многоэтажные программистские конструкции на понятный русский язык.

Ольге Васильевне Мишутиной, Зое Викторовне Александровой, Ларисе Васильевне Чернокозинской и Ларисе Алексеевне Гордиенко за то, что ухитрялись прочитывать мой почерк и сразу же отсылали исправленные главы, чтобы я опять мог в них встав­ лять свои каракули.

Сергею Аркадьевичу Чернокозинскому и Владимиру Георгиевичу Павлютину — за то, что учили меня тонкостям художественного оформления книг и научили выполнять рисунки так, чтобы их можно было печатать даже на газетной бумаге.

Анатолию Николаевичу Полинчику и Михаилу Александровичу Удалову за то, что учили меня искусству и науке верстки.

Андрею Андреевичу Линнику, Ольге Викторовне Линник и Александру Андреевичу Линнику (Линнику мл.) — за то, что именно благодаря их усилиям наши старенькие компьютеры работали (в основном) исправно, а катастрофические сбои аппаратуры никогда не приводили к катастрофическим последствиям. Именно благодаря Андрею Андреевичу нужная информация была всегда под рукой (на сервере), а Ольга Викторовна в мгновение ока находила путь к ней, даже если всевозможные поисковые системы не могли найти ничего похожего на ключевые слова, заданные в запросе.

Екатерине Данииловне Давидян — за литературное редактирование. Если бы не она, расстановка некоторых знаков пунктуации могла бы показаться, мягко выражаясь, не­ сколько необычной.

Елене Владиславовне Михайличенко — за исключительно внимательное сопровожде­ ние проекта.

Всем читателям этой книги — за то, что вы есть!!! И еще за то, что в вас есть ин­ терес к науке и вы готовы изучать новое, неизведанное. Если бы не вы, незачем было бы и писать.

Благодарности

13

Введение

Цель данной книги — помочь читателю научиться применять систему Mathematica для решения самых разнообразных задач. В основе книги лежит практический подход, и все важные положения демонстрируются большим количеством примеров — от самых простых до вполне профессиональных. Предварительное знакомство с компьютерной алгеброй не предполагается. Необязательно и знание каких-либо языков программи­ рования, за исключением разве что хотя бы “шапочного” знакомства с понятием цикла. (Впрочем, и помешать такое знакомство, конечно, никак не может.) Все необ­ ходимые предварительные сведения можно почерпнуть, например, из начальных глав книги Программирование на языке C/C++. Самоучитель, выпущенной издательством “Диалектика” в 2003 году.

Что действительно нужно, так это желание научиться применять систему ком­ пьютерной алгебры для решения своих задач и наличие компьютера, на котором можно установить систему Mathematica. Требования к компьютеру определяются возможностью установки этой системы и теми задачами, которые вы собираетесь решать на нем. Почти все замеры времени, приведенные в книге, были выполнены для компьютера на базе процессора Pentium с тактовой частотой 2,4 ГГц, с опера­ тивной памятью 1 Гбайт и операционной системой Windows ХР. Впрочем, я уста­ навливал систему Mathematica и на компьютер на базе процессора Pentium с такто­ вой частотой 100 МГц, ^оперативной памятью 32 Мбайт и операционной системой Windows 95. Но чтобы научиться применять систему компьютерной алгебры, очень важно, чтобы компьютер был всегда под рукой.

Как пользоваться этой книгой

После изучения школьного курса информатики вы панически боитесь компьюте­ ров, программ и всего, что связано с ними? Тогда вам нужно напрочь забыть этот школьный ужастик и прочесть сначала какую-нибудь совсем простую книгу, с помо­ щью которой вы научитесь нажимать клавиши и будете относиться к монитору так же, как к телевизору. (Впрочем, считаю своим долгом предупредить об опасности те­ левизоров (и компьютеров): их так легко включить, а оторваться от них иногда просто невозможно.) Если захотите после этого познакомиться с азами программирования, советую прочитать начальные главы книги Программирование на языке C/C++. Само­ учитель. Но знакомство с ней, как и с любым другим курсом программирования, со­ всем не обязательно для того, чтобы приступить к чтению данной книги.

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

У вас уже есть опыт применения компьютерной алгебры? Тогда эта книга научит вас применять лучшую из таких систем — систему Mathematica — для решения ва­ ших задач. Впрочем, даже если вы студент, в книге, конечно, едва ли можно найти решения именно тех задач, которые вам преподаватель задал на дом, но здесь есть подробно разобранные примеры решения типовых задач по математике. Конечно, данная книга не может заменить всех учебников по математике, но, надеюсь* она сде­ лает знакомство с ними гораздо более приятным, во всяком случае менее утомитель­ ным, чем при традиционном способе проведения выкладок с карандашом и ластиком.

Если же ваши проекты связаны с научными исследованиями и выходят далеко за рамки решения типовых задач, во многих главах вы найдете примеры решения до­ вольно трудных задач и получения вполне современных результатов.

Вы разработали несколько систем компьютерной алгебры, написали на них программы объемом в десятки миллионов строк и между делом преподаете в Ака­ демии Компьютерной Алгебры? Ну, тогда, вероятно, ваши студенты заподозрили, что в комментариях к вашим программам может быть парочка-другая несуществен­ ных описок. Наверное, вы купили книгу, чтобы в случае, если подозрения этих до­ тошных студентов подтвердятся, доказать, что даже книги не застрахованы от по­ добного рода случайностей. Впрочем, можете попытаться решить некоторые трудные задачи на созданной вами системе компьютерной алгебры и сверить результаты. В любом случае пишите, что вам в книге понравилось, а что нет, чего не хватает, а что можно опустить. С благодарностью приму все ваши пожелания по адресу: smith@dialektika.com.

Как найти в книге нужную информацию? Оглавление и предметный указатель по­ могут вам сориентироваться в предлагаемом материале.

Использование шрифтов

Несколько слов о шрифтах. Когда в книге вводится новый термин, он выделяется курсивом. Наиболее важные положения выделяются полужирным шрифтом. Чтобы об­ легчить чтение команд системы Mathematica и результатов, иногда в них ключевые команды (функции) и другая информация, на которую нужно обратить внимание в первую очередь, выделены полужирным шрифтом или кур с и во м . В любом случае ко­ манды системы Mathematica и результаты вычислений набраны моноширинным

шрифтом.

Пиктограммы

Для того чтобы читателям было проще ориентироваться, текст книги снабжен

пиктограммами.

Эти пиктограммы обращают ваше внимание на дополнительную или важную инфор­ Ш мацию.

Примеры, упражнения, задачи и таблицы

Чтобы научиться применять компьютерную алгебру, нужно с ее помощью решать задачи, поэтому я не счел возможным ограничиться довольно распространенным в настоящее время конспективным перечислением идентификаторов весьма многочис­ ленных команд и меню. Даже одно лишь такое перечисление потребовало бы книги в несколько раз более толстой, чем эта. Кроме того, формальные описания команд и меню вы легко можете найти в справочной системе. В данной же книге вы найдете подробные описания только наиболее часто используемых функций, зато с объясне­ ниями и примерами их применения. За примерами очень часто следуют упражнения. Честно говоря, деление на примеры и упражнения подчас весьма условно. То, что в од­ них случаях предлагается в качестве упражнения, в других случаях могло бы быть примером. Как правило, упражнения следуют за примерами, и хотя все они снабжены решениями, предполагается, что решение упражнения читатель не будет читать сразу, а хотя бы прикинет в уме ориентировочный план решения. Как правило, для этого нужно совсем немного времени. Впрочем, бывают и случаи, когда в упражнении чи­ татель может встретиться с какой-нибудь неожиданностью. Как бы то ни было, реко­ мендуется выполнять все приводимые программы из решений примеров и упражнений

Введение

15

на компьютере — в этом случае синтаксис (обычно очень естественный, если не счи­ тать использования квадратных скобок вместо круглых и того, что имена стандартных функций начинаются с заглавной буквы) вызовов изучаемых функций запомнится без каких-либо дополнительных усилий, а вы станете не пассивным наблюдателем, а не­ посредственным участником событий, описываемых в этих примерах. И конечно же, как и в любой книге по математике, в книге по компьютерной алгебре обязательно есть задачи. Они предлагаются в конце каждой главы. При их решении предполагает­ ся гораздо большая степень самостоятельности, чем при решении упражнений. По­ этому их решения помещены в приложении в конце книги. Но не спешите читать решения задач. Попробуйте решить их самостоятельно. Все они, в основном, простые. Конечно, есть и такие, в. которых требуется написать (и отладить) небольшую (обычно всего несколько строк) программу. Возможно, придется заглянуть и в учебник или справочник (ведь всем нам — и студентам, и научным сотрудникам — постоянно при­ ходится учиться). Не помешает и смекалка. Что касается решений, то они, как прави­ ло, будут чем-то отличаться от ваших собственных. Это не беда. А чтобы вы могли сравнить результаты, в решениях, как правило, приводятся хотя бы некоторые из них. Кроме того, имейте в виду, что не всегда в решениях приводится самая лучшая программа. В решении предлагается программа, которая примерно соответствует достигнутому уровню изученного материала. Сколько же времени нужно потратить на решение задач? Это зависит от задачи. На одни задачи достаточно пяти минут, на другие — несколько часов. (Честно признаюсь, раздумья над задачей из главы 1 могут занять минуту, полчаса, день-два, неделю, а возможно и годы — все зависит от того, какого уровня детализации решения вы захотите достичь: просто ответить на во­ прос, привести некоторые аргументы или же реализовать свою систему компьютерной алгебры.) Но посмотреть решение можно лишь после того, как вы сами пытались ре­ шить задачу в течение нескольких дней. Если же вы решили задачу самостоятельно, хотя бы бегло просмотрите решение, где может содержаться дополнительная инфор­ мация.

Говоря о решении задач, нельзя не сказать несколько слов о таблицах. Едва ли ре­ шение какой-либо математической задачи обходится без употребления таблиц. Ко­ нечно, не всегда оно заслуживает особого внимания. Складывая или умножая числа, мы используем таблицы сложения или умножения. Вычисляя логические выражения, мы используем таблицы логических операций. Но едва ли стоит, умножая 2 на 2, спе­ циально упоминать о таблице умножения, — в этом случае мы используем таблицу умножения, я бы сказал, подсознательно. Тем не менее таблицы всегда играли важ­ ную роль в решении задач. Полвека назад разнообразные таблицы, графики и номо­ граммы служили важным инструментом автоматизации вычислений. Однако с появ­ лением персональных компьютеров они утратили эту роль. (Сейчас многие молодые люди прибегают к использованию калькуляторов даже при сложении и умножении совсем небольших чисел.) Но эти средства всегда имели и другое назначение: визуа­ лизация полученных результатов, представление полученных результатов в компакт­ ной, обозримой и удобной для дальнейшего исследования форме. И эта роль таблиц, графиков и номограмм с появлением персональных компьютеров никак не уменьши­ лась, а, наоборот, значительно возросла. Иногда достаточно мельком взглянуть на таблицу, чтобы заметить закономерность, которую вы не замечали даже в течение долгих часов подробного изучения распечаток. Поэтому результаты вычислений я час­ то оформляю в виде таблиц, и очень часто рассказываю, как неудобоваримый файл с результатами вычислений можно всего лишь несколькими командами текстового про­ цессора (обычно я использую Word) превратить в аккуратно выглядящую таблицу. (Хотя и очень редко, но бывает так, что либо нескольких команд недостаточно, либо эти команды приходится выполнять неоднократно. Тогда я привожу текст макросов на языке VBA.) Поскольку таблицы могут использоваться для поиска еще не откры­ тых законов, проверки гипотез и иногда для непосредственных вычислений, — короче

16

Введение

говоря, для решения реальных, а не только модельных задач, — я стараюсь сделать их как можно полнее, особенно тогда, когда в одной строке умещается результат, на по­ лучение которого может потребоваться несколько часов. Ведь язык таблиц — своеоб­ разный язык, на котором сжато, почти без слов в одной строке можно выразить то, что на обычном языке потребовало бы нескольких весьма пространных абзацев. Но это же свойство языка таблиц имеет и обратную сторону: их невозможно читать так, как обычный текст, слово за словом. Для их глубокого изучения подчас нужно совсем иное настроение, чем для чтения обычного текста. Поэтому было принято ре­ шение вынести все длинные таблицы в конец книги, в отдельное приложение. (Кстати, там их будет легче найти, если придется использовать их для вычислений.) Не исключено, что некоторые, особо длинные таблицы придется сократить по типо­ графским соображениям. Тогда их полные версии будут помещены на сайте. Ну и, конечно, я постараюсь пополнять их по мере получения новых результатов. Ведь в конечном счете все таблицы служат средством решения задач — задач не только тех, что приведены в книге, но и новых, в том числе и ваших собственных (и не только математических). Именно в решении их я и желаю вам удачи!

Яков Шмидский

Киев,

17 июля 2004 г.

Комментарий к рисункам на обложке книги

Рисунки на обложке книги иллюстрируют потрясающие возможности системы Mathematica по графической визуализации трансцендентных аналитических функций в поле комплексных чисел. Эти функции возникают при решении разнообразных прикладных задач, описывающихся системами уравнений с частными производными.

До появления в 1988 году системы Mathematica визуализация трансцендентных аналитических функций, впрочем, как и любых других нетривиальных математиче­ ских объектов, являлась необычайно сложной задачей. Эти объекты, в основном, “находились” в голове математика. И от того, как четко он их представлял, порой за­ висел успех или забвение предлагаемых им методов или теорий. С появлением таких систем, как Mathematica, считавшаяся уделом для “избранных” профессия математика стала увлекательным и просто интересным занятием. Сегодня в системе Mathematica пишутся статьи и книги, проводятся научные исследования и создаются изумитель­ ные по своей красоте абстрактные графические образы. И порой даже сложно себе представить, что без нее можно было бы обходиться.

Не обсуждая задачи, которая порождает математические объекты, представленные на обложке книги, приведем реализацию их в системе Mathematica 5.

kl= 0.003; k2 = 0.474; k3 = 0.1314; k4 = 0.265 ; а = k4/2.

Z В x + y l

ц = ^ -а2 - z2k l/k 3 - zk2/k3 аежрг = Ctos[^] - а / ц SinM fun = 1. /ДЬб[аежрг]

Plot3D[ fun, {x, -110, 1) , {y, -100, 100}, PlotEtaints -»100, QjloifVzctdm-» (Ше[0.85 (2-#) ] &)] OantourPlottfm, {x, -165, 5 ) , {y, -200, 200}, Qxitours -»5, FLotBaints -»500, OolarfVTCticn-* (Hue[0.85 (2-#)]& )]

Введение

17

2

100

20 0

100

0

-100

-200

Виктор Штонда, v i k t o r Q s h t o n d a .сот

18

Введение

От издательства “Диалектика”

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

Мы ждем ваших комментариев и надеемся на них. Вы можете прислать нам бу­ мажное или электронное письмо либо просто посетить наш Web-сервер и оставить свои замечания там. Одним словом, любым удобным для вас способом дайте нам знать, нравится ли вам эта книга, а также выскажите свое мнение о том, как сделать наши книги более интересными для вас.

Посылая письмо или сообщение, не забудьте указать название книги и се авторов, а также ваш обратный адрес. Мы внимательно ознакомимся с вашим мнением и обя­ зательно учтем его при отборе и подготовке к изданию последующих книг.

Наши координаты:

E-mail:

info0dialektika.com

WWW:

http://www.dialektika.com

Информация для писем из:

 

России:

П5419, Москва, а/я 783

Украины:

03150, Киев, a/я 152

Введение

19

Глава 1

Исторический обзор

ипервое знакомство

Вэтой главе...

Что такое компьютерная алгебра

Mathematica — лучшая современная интегрированная система компьютерной алгебры

Резюме

Задачи

Таких систем — пропасть. Но для эрцгерцога, наверно, купили что-нибудь этакое, особенное.

Йозеф Швейк

Что такое компьютерная алгебра

История компьютерных вычислений

ивозникновение компьютерной алгебры

Сдавних времен человек мечтал о машине, которая могла бы выполнять вычисле­ ния. Однако что значит вычислять? Когда компьютеры только появились, они, в ос­ новном, были предназначены для численных расчетов. Затем они начали применяться для решения задач управления. И хотя в этих приложениях численные расчеты игра­ ют весьма важную роль, всегда были ученые, которые понимали, что результаты вы­ числений могут интерпретироваться не только как числовые значения физических ве­ личин. Еще Лейбниц мечтал построить машину для “вычисления истины”

Впрочем, в самом понятии “научные вычисления” всегда была двусмысленность: прежде чем на сцене появился компьютер, вычисления представляли смесь числен­ ного счета с тем, что многие называют “алгебраическими вычислениями”, т.е. с опе­ рациями над математическими формулами.

Единственным примером чисто численных расчетов является, по-видимому, дея­ тельность неординарных вычислителей, таких как Иноди. Несомненно, что авторы таблиц, в особенности логарифмических, выполняют огромный объем численных рас­ четов, однако этим расчетам предшествует разработка алгебраических формул и мето­ дов, необходимая для того, чтобы работа оказалась в пределах человеческих возмож­ ностей.

Жак Иноди

Жак Иноди — один из наиболее известных и самых популярных молниеносных вычислителей. Он родился в 1867 году в очень бедной семье, в Онорато {Пьемонт). Иноди был пастухом, око­ ло шести лет от роду его захватила страсть к цифрам. Охраняя свое стадо, он практиковался, работая с числами в голове, и в семь лет мог в уме умножать числа, получая пятизначные ре­ зультаты. И при этом он не знал таблицу умножения! После смерти матери он оставил родные места и отправился бродяжничать с братом, демонстрируя ручную белку. Брат играл на шар­ манке, а Жак показывал белку и собирал деньги.

Он говорил со зрителями, которых встречал, об устных вычислениях, в которых они обычно ничего не понимали. На рынке он помогал крестьянам делать их расчеты: “В действительно­ сти, — пишет он, — я был сильно удивлен, что эти люди, которые были обычно проницатель­ ны, почти ничего не знали о подсчетах, которые я делал почти мгновенно, всего лишь услышав их; это дало мне смелость однажды предоставить аргументы для урегулирования расчета между двумя Крестьянами, которые готовы были подраться и которых я успокоил, продемонстрировав, что они оба были не правы; эта перебранка, естественно, собрала толпу, которая была удивле­ на, что маленький паренек вроде меня лучше знает, как считать, чем два взрослых. Те, кто раз­ бирались в числах, начали задавать мне различные вопросы, на которые я отвечал правильно и очень быстро, все еще оставаясь в недоумении, что кто-то не знает ответов, которые кажутся мне столь естественными. В результате крестьяне начали вызывать меня всякий раз, когда воз­ никали трудности”

Вскоре Иноди начал выступать в кафе, где его представлял коммивояжер М. Домби, который стал его импресарио и повез в турне по провинции, а затем привез в Париж в возрасте 13 лет. Здесь он привлек внимание Камиля Фламмариона, который написал несколько статей о нем в различные научные журналы. Известный антрополог Поль Брока, обследовал его и в своем от­ чете отметил, что голова Жака Иноди была очень большая и неровная.

В 1892 году, когда ему было 24 года, он вернулся в Париж. К этому времени он уже научился читать и писать и его интеллект заметно развился. По свидетельству Альфреда Бине, он вел се­ бя тихо и скромно, говорил мало и был собран. Его образование было не слишком обширным; и следовательно, число тем для разговоров было ограничено.

Его импресарио М. Торси представил Иноди Академии Наук, которая сформировала комитет по изучению счетчика. В этот комитет входили Дарбу, Пуанкаре, Тиссерант и Шарко; позже в него вошел и Альфред Бине. После многочисленных тестов комитет дал свое заключение. Оно было выражено в отчете Дарбу, По мнению известного математика, фантастические результаты, прежде всего, были обусловлены чудесной памятью. Иноди мог запоминать 400-значные числа. 22-значное число Иноди смог вспомнить через восемь дней, хотя его не предупреждали, что когда-либо попросят об этом. Дарбу отмечает очень важный, хотя и пропущенный большинст­ вом проверяющих следующий факт: все методы были изобретены самим вычислителем. Прави­ ла, открытые Иноди, отличались от принятых в Европе, хотя некоторые из них имели сходство с применяемыми в Индии.

Альфред Бине предложил Иноди представить число 13411 в виде суммы четырех квадратов.

Через три минуты Иноди назвал ему четыре следующих числа:

115, квадрат которого равен

13225; 13, квадрат которого равен 169; 4, квадрат которого равен

16; 1, квадрат которого равен

1. Сумма всех четырех квадратов равна 13411.

Минутой позже счетчик нашел другое решение:

113, которое в квадрате дает

12 769; 25, которое в квадрате дает 625; 4, которое в квадрате дает

16; 1, которое в квадрате дает 1. Сумма четырех квадратов равна 13411.

Наконец, некоторое время спустя (точное время не было записано) Иноди нашел третье решение:

113, которое в квадрате дает 12769; 23, которое в квадрате дает 529; 8, которое в квадрате дает 64; 7, которое в квадрате дает 49. Сумма четырех квадратов равна 13411.

Исторический обзор и первое знакомство

21

Иноди действительно вычислял с удивительной скоростью. Так, в 1924 году в Обществе Граж­ данских Инженеров был организован матч между счетчиком и вычислительной машиной (ари­ фмометром) того времени. Иноди победил машину в сложении, вычитании, возведении в сте­ пень, извлечении корня и в большинстве умножений. Только в умножении пятизначных чисел машина опередила человека. Кроме того, подобно большинству молниеносных вычислителей, Иноди называл день недели, на который приходится та или иная дата, почти мгновенно, что машина не могла делать.

Психолог Альфред Бине отметил, что память Иноди была сильно специализирована. Хотя Иноди запоминал сотни чисел, он не мог повторить более пяти или шести букв, предъявленных в оп­ ределенном порядке, например в порядке а, г, g, f, s, m, t, u. Он не мог запомнить две строчки стихов или прозы. С другой стороны, он мог поддерживать разговор и отвечать на вопросы ост­ роумно и по существу, решая в то же время предложенные ему задачи.

Все знаменитые великие вычисления XIX века содержат большое количество ма­ нипуляций с формулам^. Наиболее известным является, несомненно, расчет Леверье орбиты Нептуна, который был основан на возмущениях орбиты Урана и привел к от­ крытию Нептуна. Наиболее впечатляющие вычисления с карандашом и бумагой вы­ полнены также в области астрономии: Делоне потребовалось 10 лет для вычисления орбиты Луны и еще 10 лет для ее проверки (проверка выявила несколько ошибок в знаках и несколько “потерянных” двоек). Результат не является численным, по­ скольку он состоит, в основном, из формулы, которая сама по себе занимает 128 страниц 4-й главы его книги. Если бы Делоне мог установить систему Mathematica на Pentium 166, то все вычисления, без учета времени на набор формул, заняли бы около 10 минут7!

Однако с появлением компьютеров выполнять численные расчеты стало значи­ тельно проще, и благодаря огромным вычислениям иногда удавалось избежать трудо­ емких алгебраических выкладок. Поэтому для широких кругов инженеров и даже для большинства научных сотрудников именно численные расчеты стали синонимом на­ учных вычислений.

Тем не менее, как уже упоминалось, численные расчеты не позволяют полностью исключить необходимость в алгебраических вычислениях. Ведь написание даже про­ стейших программ требует вывода формул, на которых основан алгоритм. Кроме того, имея удобные формулы, вычисления можно выполнить существенно быстрее, чем без них. И это может играть решающую роль: едва ли кого-нибудь (кроме самих метеоро­ логов) может интересовать 48-часовый прогноз погоды через две недели. Кроме того, во многих численных методах (например, сеточных12) при уменьшении шага объем вычислений возрастает экспоненциально (показателем является обычно размерность сетки).

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

1 Первая попытка проверить эти вычисления с помощью вычислительной машины была предпринята задолго до появления персональных компьютеров. Так, такая проверка на машине фирмы IBM в 1970 году заняла 20 часов.

2 Сеточные методы, или методы сеток — собирательное название группы приближенных ме­ тодов решения дифференциальных, интегральных и интегро-дифференциальных уравнений. В случае дифференциальных уравнений с частными производными этот термин является сино­ нимом терминов “метод конечных разностей” и “разностный метод” Широкое применение се­ точных методов обусловлено их большой универсальностью и сравнительной простотой реали­ зации на ЭВМ.

22

Гпава 1