Математика. Настоящий учебник посвящен системе Mathematica прикладному пакету компьютерной алгебры, при помощи которого можно решать любые задачи, в которых в той или иной форме встречается математика
Скачать 4.43 Mb.
|
MATHEMATICA äìñ îåíáåíáéëá î.á. ÷Á×ÉÌ Ï×, ÷.ç. èÁÌÉÎ, á.÷. àÒË Ï× M M A M M A T A M M A T H T A M M A T H E H T A M M A T H E M E H T A M M A T H E M A M E H T A M M A T H E M A T A M E H T A M M A T H E M A T I T A M E H T A M M A T H E M A T I C I T A M E H T A M M A T H E M A T I C A C I T A M E H T A M íÏ ÓË×Á éÚÄÁÔ ÅÌØÓÔ×Ï íãîíï 2021 УДК 330.4 ББК 65в6 B13 При поддержке Благотворительного фонда Владимира Потанина Рецензенты: Емельянов А.А. , доктор экономических наук, профессор, Смоленский филиал Московского энергетического института (МЭИ) Гердт В.П. , доктор физико-математических наук, профессор, Объединенный институт ядерных исследований, Дубна Васильев Н.Н. , кандидат физико-математических наук, старший научный сотрудник, Санкт-Петербургское отделение Математического института им. В.А. Стеклова Российской академии наук Вавилов Н.А., Халин В.Г., Юрков А.В. Mathematica для нематематика: учебное пособие для вузов Электронное издание М.: МЦНМО, 2021 483 с. ISBN 978-5-4439-3584-3 Настоящий учебник посвящен системе Mathematica — прикладному пакету компьютерной алгебры, при помощи которого можно решать любые задачи, в которых в той или иной форме встречается математика. Учебник возник из желания соавторов материализовать разделяемое ими убеждение, что нель- зя учить математике, натаскивая на рутинных операциях, которые студенты в своей будущей жизни никогда не применят. Современные математические пакеты — а Mathematica среди них безусловно выдающийся — лучше многих решат уравнения и выполнят вычисления (в умелых руках). Научить буду- щего исследователя-нематематика применять сообразно решаемой задаче этот доступный даже школьнику инструмент — цель, к которой, создавая учебник, стремились авторы. Эта цель обрела реальность благодаря поддержке Благово- рительного фонда Владимира Потанина, реализующего масштабные проекты в сфере образования и культуры. Книга издается в авторской редакции Оригинал макет подготовлен с использованием системы макрорасшире- ний AMS-TEX ver. 2.2 стандартного TEX’а ver. 3.14159625 Лицензия Wolfram Mathematica 4081–2263 Издательство Московского центра непрерывного математического образования 119002, Москва, Большой Власьевский пер., 11, тел. (499) 241–08–04. http://www.mccme.ru ISBN 978-5-4439-3584-3 c Коллектив авторов, 2021. c МЦНМО, 2021. Computers are not intelligent. They only think they are. — Компью- теры не могут мыслить; они лишь думают, что могут мыслить. Рене Декарт The purpose of computing is insight, not numbers! — Целью вычис- ления является понимание, а не числа! Richard Hamming If you can't learn to do it well, learn to enjoy doing it badly! — Если вы не можете научиться делать это хорошо, научитесь получать удовольствие от того, что вы делаете это как умеете! The Tao of Real Programming 4 СОДЕРЖАНИЕ Предыстория и благодарности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Модуль 1. Первое знакомство с системой Mathematica . . . . . . 9 Глава 1. Что такое компьютерная алгебра? . . . . . . . . . . . . . . . . 10 § 1. Математика и компьютеры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 § 2. Компьютерная алгебра . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 § 3. Влияние компьютеров на математическое мышление 16 § 4. Возможности систем компьютерной алгебры . . . . . . . . . 18 § 5. Об “ошибках” систем компьютерной алгебры . . . . . . . . . 20 Глава 2. Что такое Mathematica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 § 1. Достоинства и особенности Mathematica . . . . . . . . . . . . . . . . 24 § 2. Структура системы Mathematica . . . . . . . . . . . . . . . . . . . . . . . . . . 28 § 3. Главное меню Mathematica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 § 4. Система помощи Mathematica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 § 5. Палитры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 § 6. Сессии и вычисления . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 § 7. Блокноты и ячейки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 § 8. Общие советы и типичные ошибки . . . . . . . . . . . . . . . . . . . . . . 40 Глава 3. Практическое введение в систему Mathematica . . . 44 § 1. Арифметика . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 § 2. Многочлены и рациональные дроби . . . . . . . . . . . . . . . . . . . . . 52 § 3. Алгебраические уравнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 § 4. Системы уравнений и неравенств . . . . . . . . . . . . . . . . . . . . . . . . 69 § 5. Элементарные функции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 § 6. Графики функций . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 § 7. Суммы, произведения, пределы . . . . . . . . . . . . . . . . . . . . . . . . . 108 § 8. Производные . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 § 9. Интегралы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 § 10. Вектора и матрицы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 § 11. Линейная алгебра . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 5 Модуль 2. Основы синтаксиса . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 Глава 4. Объекты и выражения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 § 1. Выражения: FullForm, Head, Part, Level, Length, Depth . 149 § 2. Что такое квадратный трехчлен? . . . . . . . . . . . . . . . . . . . . . . 152 § 3. Выделение уровней . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 § 4. Имена объектов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 § 5. Группировка и скобки в математике . . . . . . . . . . . . . . . . . . . 158 § 6. Группировка и скобки в Mathematica . . . . . . . . . . . . . . . . . . . . 160 § 7. Числовые домены . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 § 8. Универсальные инструменты: = Simplify , FullSimplify, Refine . . . . . . . . . . . . . . . . . . . . . . . 165 § 9. Целые и рациональные числа . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 § 10. Запись вещественного числа . . . . . . . . . . . . . . . . . . . . . . . . . . 169 § 11. Константы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 § 12. Непрерывные дроби и рациональные приближения . 173 § 13. Комплексные числа . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 § 14. Генерация случайных чисел . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 § 15. Бесконечность и неопределенность . . . . . . . . . . . . . . . . . . 179 Глава 5. Переменные и их значения . . . . . . . . . . . . . . . . . . . . . . . . 181 § 1. Математика как неточная наука . . . . . . . . . . . . . . . . . . . . . . . 181 § 2. Переменные и их значения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 § 3. Многочлены . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 § 4. Немедленное и отложенное присваивание: = Set versus := SetDelayed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 § 5. Секунды, такты и шаги . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 § 6. Модификация значения переменной . . . . . . . . . . . . . . . . . . . 193 § 7. Немедленная и отложенная подстановка: -> Rule versus :> RuleDelayed . . . . . . . . . . . . . . . . . . . . . . . . . . 195 § 8. Просто замены и сугубые замены: Replace , /. ReplaceAll, //. ReplaceRepeated . . . . . . . . . . . 199 § 9. Чистка: Unset, Clear, ClearAll, Remove . . . . . . . . . . . . . . . . . . . 201 § 10. Создание локальных и уникальных переменных . . . . 203 § 11. Равенство и тождество: == Equal versus === Same . . . . 207 § 12. Решение алгебраических уравнений . . . . . . . . . . . . . . . . . . 209 Глава 6. Функции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 § 1. Функциональная и операторная запись функций . . . . 212 § 2. Специфика функций компьютерной алгебры . . . . . . . . . . 216 § 3. Основные классы функций языка Mathematica . . . . . . . . 217 § 4. Функции нескольких аргументов . . . . . . . . . . . . . . . . . . . . . . . 223 § 5. Аргументы функций . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 6 § 6. Алгебраические операции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 § 7. Арифметические операции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 § 8. Приоритет!!! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 § 9. Итераторы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 § 10. Делимость целых чисел . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 § 11. Сравнение вещественных чисел . . . . . . . . . . . . . . . . . . . . . . . . 242 § 12. Предикаты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 § 13. Булевы функции и кванторы . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 § 14. Реляционные операторы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 § 15. Числовые функции: экспонента и логарифм . . . . . . . . . 248 § 16. Тригонометрические и гиперболические функции . . . 250 Модуль 3. Задачи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 Глава 7. Арифметика и теория чисел . . . . . . . . . . . . . . . . . . . . . . . 263 § 1. Целые числа . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 § 2. Рациональные числа . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 § 3. Вещественные числа . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 § 4. Комплексные числа . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 § 5. Простые числа . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 § 6. Модулярная арифметика . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339 Глава 8. Комбинаторика и дискретная математика . . . . . . 352 § 1. Комбинаторика . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353 § 2. Списки и последовательности . . . . . . . . . . . . . . . . . . . . . . . . . . 369 § 3. Функции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399 § 4. Перестановки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421 § 5. Циклы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440 Глава 9. Многочлены и матрицы . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458 § 1. Многочлены . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459 § 2. Запись матриц . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 § 5. Определители . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476 Литература . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483 7 Предыстория и благодарности Учебник был задуман в начале “нулевых”, когда авторы читали лек- ции по курсам “Математические пакеты” и “Математика и компьютеры” на экономическом факультете СПбГУ и накапливали материалы для под- держки занятий в цикле учебных пособий, имеющих ограниченное распро- странение. С той поры система Mathematica получила значительное разви- тие, включая онлайн версию, и круг ее потенциальных пользователей суще- ственно расширился, благодаря Интернету. Среди прочего это укрепляет нашу уверенность, что великолепный инструмент, коим является система Mathematica, может и должен изучаться и применяться всеми исследова- телями, использующими математический аппарат в своей деятельности, и нематематиками в том числе. Идея обобщить накопленный опыт и подготовить книгу для широкого круга читателей, не имеющих специального математического образования, обрела реальность в 2018 году, когда наша заявка на учебник “Mathematica для нематематика” получила грант Благоворительного фонда Владимира Потанина, реализующего масштабные проекты в сфере образования и куль- туры. Желание облечь разработанные ранее учебные материалы в форму пол- ноценного учебника потребовало решения и чисто технических вопросов, обусловленных необходимостью подключения к системе верстки достаточ- но раритетных в настоящее время макрорасширений AMS-TEX стандартно- го TEX'а, с использованием которых написаны исходные тексты прежних лет. В связи с этим мы не можем не отметить с признательностью вни- мание и помощь в преодолении порой почти недокументированных ретро- проблем, оказанные авторам коллегой по СПбГУ и соавтором ряда сов- местных работ Андреем Алексеевичем Семёновым. Работая над настоящим учебником, мы не можем не вспомнить с бла- годарностью и ту поддержку, которую имели в прежние годы, благодаря соучастию в проектах, непосредственно посвященных развитию теоретиче- ских аспектов компьютерной алгебры: РФФИ 00-10-00441, РФФИ 03-01- 00349, Минвуз 2003.10.3.03.Д, Минвуз 2004.10.1.03.Д. Кроме того, наша ра- бота была поддержана грантами INTAS 00-01-00441 и 03-51-3251 и несколь- кими другими проектами Министерства образования и науки Российской Федерации, Российского научного фонда и Российской Академии наук. 8 ВВЕДЕНИЕ Бывает, что человек обладает знанием, но не умеет пользоваться им. Бывает и так, что владеющий искусством сам не знает его секрета. В царстве Вэй жил человек, умевший хорошо считать. Перед смертью он поведал секрет своего искусства сыну. Сын запомнил слова, но не знал, как применить их. Какой-то человек стал его расспрашивать об этом, и он передал ему те слова. И тот человек научился считать не хуже, чем это делал отец. Ле-цзы, Гл. VIII. Рассказы о совпадениях Человек может пользоваться только тем, чем он умеет пользовать- ся. Человек может использовать только то, что он знает, как исполь- зовать Идрис Шах, `Сказки дервишей' Was man nich versteht, besitzt man nicht. — Чего человек не пони- мает, то ему не принадлежит. 1 Johann Wolfgang von Goethe, Maximen und Reflexionen Nessuna certezza ` e dove non si p` o applicare la matematica. — Там, где нельзя применить Mathematica, не может быть никакой досто- верности. Leonardo da Vinci They spell it da Vinci and pronounce it da Vinchy. Foreigners al- ways spell better than they pronounce. — Они пишут da Vinci, а произносят да Винчи. Иностранцы всегда пишут гораздо лучше, чем говорят. Mark Twain 1 Канонический русский перевод этого афоризма таков: “Чем человек не владеет, тем он не обладает” — однако при этом вводится игра слов, которой нет в оригинале. Между тем, господин тайный советник абсолютно категоричен: “Чем человек не умеет пользоваться, того у него нет” — was du ererbt von deinen V¨ atern hast, erwirb es, um es zu besitzen 9 МОДУЛЬ 1. Первое знакомство с системой Mathematica Умножая свои знания, умножаешь чью-то скорбь. Соломон — Ну скажи, почему этот “мерседес” реальный? — спросил Во- лодин. Несколько секунд Мария мучительно думал. — Потому что он из железа сделан, — сказал он, — вот почему. А это железо можно подойти и потрогать. — То есть ты хочешь сказать, что реальным его делает некая суб- станция, из которой он состоит? Мария задумался. — В общем, да, — сказал он. — Вот поэтому мы Аристотеля и рисуем. Потому что до него никакой субстанции не было, — сказал Володин. — А что же было? — Был главный небесный автомобиль, — сказал Володин, — по сравнению с которым твой шестисотый “мерседес” — говно пол- ное. Этот небесный автомобиль был абсолютно совершенным. И все понятия и образы, относящиеся к автомобильности, содержа- лись в нем одном. А так называемые реальные автомобили, ко- торые ездили по дорогам Древней Греции, считались просто его несовершенными тенями. Как бы проекциями. Понял? Виктор Пелевин, Чапаев и Пустота Я также полагаю, что термин интеллект следует употреблять ис- ключительно в связи с пониманием. Некоторые же теоретики ис- кусственного интеллекта берутся утверждать, что их робот вполне может обладать интеллектом не испытывая при этом никакой необ- ходимости в действительном понимании чего-либо. На мой взгляд словосочетание интеллект без понимания есть лишь результат не- верного употребления терминов. Следует, впрочем, отметить, что иногда что-то вроде частичного моделирования подлинного интел- лекта без какого бы то ни было реального понимания оказывается до определенной степени возможным. В самом деле, не так уж редко встречаются человеческие существа, способные на некоторое время одурачить нас демонстрацией некоторого понимания, хотя, как в конце концов выясняется, оно им в принципе не свойственно! Роджер Пенроуз, Тени разума. Гл.1. Сознание и вычисление Предположим, что Вы получаете анонимное письмо, содержащее лишь листок бумаги с четырьмя строчками поэтического текста. Например, это может быть стихотворение Уильяма Блейка, “Eter- nity”: He who binds to himself a joy Does the winged life destroy; But he who kisses the joy as it flies Lives in eternity's sun rise. Предположим, что кому-то удалось воссоздать всю последователь- ность возбуждений нейронных цепей в мозгу поэта (в тот момент, 10 когда он написал эти строки), в Вашем мозгу (в тот момент, когда Вы прочли эти строки) и даже в мозгу отправителя этого пись- ма! Предположим, повторяю, что кому-то удалось понять всю эту фантастическую и прекрасную сложность биохимических ре- акций, обеспечивающих соответствующие возбуждения в нейрон- ных цепях, и описать (а значит постичь) всю совокупность физи- ческих и химических актов, из которых состоят эти биохимические реакции! Какое невероятное и восхитительное знание можно полу- чить при таком анализе! Какое количество Нобелевских премий можно было бы получить сразу! Но . . . давайте также поймем, что все это знание не дает ничего для понимания смысла стихов Блейка, по крайней мере в том значении, который мы обычно вкла- дываем в слово понимание, обращаясь к поэзии. Понимание поэзии Блейка следует искать на уровне того языка, на котором они были созданы, и с учетом психологии автора и читателя. Картина воз- буждения нейронных сетей никак не может помочь при этом, т.е. не дает понимания знания. Роальд Хоффманн. The same and not the same |