книги / Mathematica 5. ╨б╨░╨╝╨╛╤Г╤З╨╕╤В╨╡╨╗╤М
.pdfЯ.К. Шмидский
АЦАЛЕКМЛСА
Москва • Санкт-Петербург • Киев
2004
ББК 32.973.26-018.2.75
UI73Z
УДК 681.3.07
Компьютерное издательство “Диалектика!’
Зав. редакцией Л.В. Слепцов
По общим вопросам обращайтесь в издательство “Диалектика” по адресу: info@dialektika.com, http://www.dialektika.com
Шмидский, Я.К.
Ш37 Mathematica 5. Самоучитель.: - М.: Издательский дом “Вильямс”, 2004. - 592 с.: ил.
ISBN 5-8459-0678-4 (рус.)
Эта книга —самоучитель и практическое руководство по новейшей версии пакета компьютерной алгебры Mathematica 5. В ней доступно и подробно рассмотрены примеры решения всех типовых задач основных разделов элементарной и высшей математики — арифметики, алгебры, геометрии, математического анализа и теории дифференциальных уравнений. Подробно рассмотрено построение графиков функций в декартовой и поляр ной системах координат. Для функций двух переменных описано построение поверхно стей, контурных графиков, линий уровня и графиков плотности. Даны примеры решения типовых задач математического анализа —нахождение пределов, производных и инте гралов. Обсуждаются также мультимедийные средства системы Mathematica —обработка звука и изображений, в частности мультипликация. В заключительной главе обсуждает ся новый вид науки —наука о сложном —и поведение клеточных автоматов. Предвари тельное знакомство читателя с компьютерной алгеброй не предполагается.
ББК 32.973.26-018.2.75
Вес названия программных продуктов являются зарегистрированными торговыми марками соот ветствующих фирм.
Никакая часть настоящего издания пи в каких целях нс может быть воспроизведена в какой бы то ни было форме и какими бы то пи было средствами, будь то электронные или механические, включая фотокопирование и запись на магнитный носитель, если на это пет письменного разрешения издательст ва “Диалектика”
Copyright © 2004 by Dialcktika Computer Publishing.
All rights reserved including the right of reproduction in whole or in part in any form.
ISBN 5-8459-0678-4 (pyc.) |
© Компьютерное изд-во “Диалектика”, 2004 |
Оглавление
Благодарности |
12 |
|
Введение |
14 |
|
Глава 1. |
Исторический обзор и первое знакомство |
20 |
Глава 2. |
Первое знакомство — калькулятор |
34 |
Глава 3. |
Числа, их представление и операции над ними |
57 |
Глава 4. |
Арифметика: разложение целых чисел на простые множители |
114 |
Глава 5. Арифметика: простые числа |
136 |
|
Глава 6. Арифметика: наибольший общий делитель |
|
|
|
и наименьшее общеекратное |
167 |
Глава 7. Модулярная арифметика: деление с остатком, вычеты, |
|
|
|
сравнения и китайскаятеорема об остатках |
186 |
Глава 8. Числовые функции |
215 |
|
Глава 9. Мультимедиа: геометрия, графика, кино, звук |
241 |
|
Глава 10. Алгебра и анализ |
333 |
|
Глава 11. За гранью простого |
369 |
|
Приложение А. Ответы и решения задач |
388 |
|
Приложение Б. Таблицы |
410 |
|
Предметный указатель |
572 |
Содержание
Благодарности
Введение
Комментарий к рисункам на обложке книги
Глава 1. Исторический обзор и первое знакомство
Что такое компьютерная алгебра История компьютерных вычислений и возникновение компьютерной алгебры
Отличия систем компьютерной алгебры от традиционных систем программирования Как начать
Mathematica — лучшая современная интегрированная система компьютерной алгебры
Что такое система Mathematica Концепция системы Mathematica Применение системы Mathematica Кто использует систему Mathematica Развитие системы Mathematica Расширение системы Mathematica
Описание некоторых стандартных пакетов Mathematica Новое в версии Mathematica 5
Резюме
Задачи
Глава 2. Первое знакомство — калькулятор
Знакомство с системой Mathematica Арифметические действия над числами Функции Блокнот и меню
Алгебраические преобразования Построение графиков
Построение графиков функций одной переменной Построение графиков функций двух переменных
Анализ
Дифференцирование
Интегрирование
Суммы Разложение в ряд Тейлора
Вычисление пределов Списки и линейная алгебра
Списки
Векторы
Матрицы
Уравнения Экстремумы функций
Линейное программирование Резюме Задачи
Глава 3. Числа, их представление и операции над ними |
57 |
Что такое число |
57 |
Представление вещественных чисел систематическими дробями: функция N. |
|
Разрядность и точность вещественных чисел: функции Precision и Accuracy |
59 |
Разрядность и точность при выполнении операций над числами |
61 |
Отбрасывание малых вещественных чисел: функция Chop |
62 |
Целая и дробная части вещественного числа |
63 |
Целая часть вещественного числа: функции Floor и IntegerPart |
63 |
Дробная часть вещественного числа: функция Fractional Part |
64 |
Приближение вещественных чисел рациональными: функция Rationalize |
79 |
Позиционные системы счисления |
80 |
Преобразование в десятичную систему счисления |
80 |
Преобразование из десятичной системы счисления в недесятичную |
80 |
Число как последовательность (список) цифр |
81 |
Экспоненциальное представление чисел: функция MantissaExponent |
92 |
Модуль (абсолютная величина) числа: функция Abs |
93 |
Знак числа: функция Sign |
93 |
Числитель и знаменатель числа: функции Numerator и Denominator |
93 |
Цепные дроби |
94 |
Представление числа непрерывной дробью: функция ContinuedFraction |
94 |
Преобразование непрерывной дроби в число: функция |
|
FrorhContinuedFraction |
111 |
Комплексные числа |
112 |
Мнимая единица |
112 |
Вещественная часть комплексного числа: функция Re |
112 |
Мнимая часть комплексного числа: функция Im |
112 |
Аргумент комплексного числа: функция Arg |
ИЗ |
Сопряженное комплексное число: функция Conjugate |
113 |
Резюме |
ИЗ |
Задачи |
ИЗ |
Глава 4. Арифметика: разложение целых чисел на простые множители |
114 |
Факторизация целых чисел с помощью функции Factorlnteger |
114 |
Факторизация чисел Мерсенна |
114 |
Факторизация чисел вида 2"+1 |
119 |
Факторизация чисел вида 2п—1 |
119 |
Факторизация чисел, десятичная запись которых состоит из п единиц |
120 |
Факторизация чисел вида 10"+1 |
120 |
Факторизация чисел Фибоначчи |
121 |
Факторизация дробей |
121 |
Факторизация гауссовых чисел |
125 |
Факторизация очень больших чисел |
126 |
Факторизация факториалов |
127 |
Функция FactorlntegerECM: попытка факторизации больших |
|
чисел Мерсенна |
129 |
Резюме |
135 |
Задачи |
135 |
Содержание |
7 |
Глава 5. Арифметика: простые числа |
136 |
Тест на простоту |
136 |
Функция PrimeQ |
137 |
Множество простых чисел Primes и предикат х е Primes |
140 |
Доказательство (или опровержение) простоты заданного числа |
140 |
Функции PreviousPrime и NextPrime и случайные простые числа |
141 |
Наибольшее простое число, меньшее п, — PreviousPrime[n] |
141 |
Наименьшее простое число, большее л, — NextPrimefn] |
142 |
Случайное простое число в заданном интервале — Random[Prime, {n, т}] |
142 |
Пифагоровы треугольники, у которых длины двух сторон |
|
выражаются простыми числами |
143 |
Таблицы простых чисел |
144 |
Функция Prime[n] — л-е простое число |
144 |
Поиск отрезков натурального ряда, состоящих только из составных чисел |
145 |
Близнецы |
156 |
Простые числа, близкие к числам определенного вида |
157 |
Число простых чисел, не превосходящих х (функция PrimePi[x]) |
159 |
Количество простых чисел на открытом слева отрезке (д, Ь) |
165 |
Резюме |
165 |
Задачи |
166 |
Глава 6. Арифметика: наибольший общий делитель |
|
и наименьшее общее кратное |
167 |
Наибольший общий делитель |
167 |
Наибольший общий делитель — функция GCD |
167 |
Линейное представление наибольшего общего делителя — функция |
172 |
ExtendedGCD |
|
Наименьшее общее кратное — функция LCM |
183 |
Резюме |
185 |
Задачи |
185 |
Глава 7. Модулярная арифметика: деление с остатком, вычеты, |
|
сравнения и китайская теорема об остатках |
186 |
Деление с остатком |
187 |
Частное при делении с остатком — функция Quotient |
187 |
Остаток от деления — функция Mod |
188 |
Возведение в степень в модулярной арифметике — функция PowerMod |
191 |
Китайская теорема об остатках — функция ChineseRemainder |
193 |
Корни в системе остаточных классов |
194 |
Квадратный корень по модулю — функции SqrtMod и SqrtModList |
194 |
Первообразные корни по модулю п |
196 |
Критерии простоты чисел специального вида |
198 |
Простые числа Мерсенна, тест Люка-Лемера |
198 |
Простые числа вида к • 2" +1 |
201 |
Резюме |
213 |
Задачи |
214 |
8 |
Содержание |
Глава 8. Числовые функции |
215 |
Функция Эйлера — EulerPhi |
215 |
Функция Кармайкла Х(т) — CarmichaelLambda |
221 |
Функция Мебиуса р(/я) — MoebiusMu |
222 |
Функции, связанные с делителями, — Divisors и DivisorSigma |
223 |
Число делителей т(п) |
223 |
Сумма делителей с(п) |
231 |
Резюме |
240 |
Задачи |
240 |
Глава 9. Мультимедиа: геометрия, графика, кино, звук |
241 |
Введение, или основные графические примитивы |
242 |
Графические примитивы и их отображение на экране |
243 |
Графические директивы |
246 |
Аналитическая геометрия на плоскости, или 20-графика |
250 |
Графические примитивы |
250 |
Вычерчивание графиков |
260 |
Несколько графиков на одном чертеже — функция GraphicsArray |
305 |
Аналитическая геометрия в пространстве, или ЗО-графика |
310 |
Графические примитивы и опции трехмерной графики |
310 |
Вычерчивание графиков |
319 |
Другие миры — другие измерения |
328 |
Четвертое измерение — время. Движущиеся картинки — кино |
328 |
Еще одно измерение — звук |
330 |
Резюме |
331 |
Задачи |
331 |
Глава 10. Алгебра и анализ |
333 |
Алгебра |
333 |
Замена выражений в формулах |
333 |
Многочлены |
339 |
Поле рациональных дробей |
342 |
Линейная алгебра |
344 |
Анализ |
345 |
Пределы |
345 |
Дифференцирование |
346 |
Ряды |
346 |
Исследование функций и построение графиков |
348 |
Интегрирование |
351 |
Векторный анализ |
353 |
Дифференциальные уравнения |
358 |
Поля направлений для дифференциальных уравнений и изоклины |
358 |
Нахождение решений дифференциальных уравнений |
360 |
Системы дифференциальных уравнений |
364 |
Резюме |
367 |
Задачи |
368 |
Содержание |
9 |
Глава 11. За гранью простого |
369 |
Новый вид науки |
369 |
Теория универсальности, или насколько сложным может быть поведение |
|
простой динамической системы |
370 |
Клеточные автоматы |
380 |
Ресурсы по системе Mathematica |
383 |
Резюме |
387 |
Задачи |
387 |
Приложение А. Ответы и решения задач |
388 |
Глава 1 “Исторический обзор и первое знакомство” |
388 |
Глава 2 “Первое знакомство — калькулятор” |
390 |
Глава 3 “Числа, их представление и операции над ними” |
392 |
Глава 4 “Арифметика: разложение целых чисел напростые множители” |
393 |
Глава 5 “Арифметика: простые числа” |
393 |
Глава 6 “Арифметика: наибольший общий делитель |
|
и наименьшее общее кратное” |
397 |
Глава 7 “Модулярная арифметика: деление с остатком, вычеты, |
397 |
сравнения и китайская теорема об остатках” |
|
Глава 8 “Числовые функции” |
398 |
Глава 9 “Мультимедиа: геометрия, графика, кино,звук” |
399 |
Глава 10 “Алгебра и анализ” |
406 |
Глава 11 “За гранью простого” |
409 |
Приложение Б. Таблицы |
410 |
Предметный указатель |
572 |
10 |
Содержание |
Посвящение
Светлой памяти моего отца Шмидского Константина Яковлевича посвящается
Благодарности
Когда эта книга выйдет, мне будет 52 года. Я принимал участие в самых разных проектах — начиная от весьма “технических” (вроде создания компиляторов, опера ционных систем и систем автоматизации технологических процессов), предназначен ных для того, чтобы исключить участие в том или ином технологическом процессе, до вполне “гуманитарных”, в которых разнообразные “железки” играли лишь вспомога тельную роль. (К категории таких “гуманитарных” проектов я отношу и написание книг вроде этой.) Но чтобы создавать программы, которые облегчают людям жизнь, мне пришлось стать математиком, разобраться в компьютерах и научиться писать программы. И для этого мне понадобились книги, компьютеры и программы, напи санные другими людьми. Поэтому я хочу выразить огромную признательность авторам всех книг, по которым я учился математике, программированию и другим наукам, — без этих книг я не мог бы разобраться в математике, компьютерах и программирова нии. Но, к сожалению, едва ли это осуществимо. Если бы я рискнул перечислить всех, получился бы довольно длинный перечень авторов книг по математике и ком пьютерам, издававшихся в издательствах — советских, зарубежных и постсоветских. Наверное, еще длиннее выглядел бы список разработчиков компьютеров и про грамм, которые мне помогали реализовывать самые разнообразные проекты — как “технические”, так и “гуманитарные” Но даже изучить все эти книги, разобраться в компьютерах и создать несколько интерпретаторов, компиляторов и операцион ных систем — еще совсем не значит уметь донести свои знания студентам и читате лям. Овладеть всеми необходимыми знаниями и навыками мне помогали многие лю ди. Всем им моя глубокая благодарность. Я помню всех, но перечислить могу лишь немногих. Выражаю свою сердечную благодарность:
Виктору Николаевичу Штонде — за неоценимую поддержку и постоянную помощь при написании данной книги. Часто именно он находил нужную информацию, на правлял процесс написания книги и был первым ее внимательным читателем и кри тиком. Без его помощи данная книга не была бы написана.
Сергею Николаевичу Тригубу — за то, что научил меня тонкостям технологии редак тирования книг, за советы, постоянную помощь, поддержку и программы, которые ему пришлось написать для меня, а также за бесконечное терпение, когда у меня чтото не получалось и ему приходилось объяснять все снова и снова. Если бы не его по мощь, эта книга никогда бы не была написана.
Вадиму Владимировичу Александрову — за неоценимую помощь и поддержку в на писании и редактировании книг. Часто именно он находил решения проблем еше до их возникновения. Если бы не его помощь, эта книга никогда бы не была написана.
Владимиру Яковлевичу Грицкову — за плодотворные обсуждения концепций аппа ратно-программной реализации языков высокого уровня (в большинстве своем это были входные языки систем компьютерной алгебры) и операционных систем для процессоров, на которых реализовывались концепции параллельного программирова ния и системы компьютерной алгебры. В совместной работе по реализации таких проектов он постоянно оказывал неоценимую помощь и поддержку, а также учил ме ня работать за пультами машин второго и третьего поколений и хладнокровно, без паники, разбираться в бесконечных дампах, выдаваемых в ночные смены этими монстрами, и находить ошибки аппаратуры. К счастью, благодаря выработанным