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

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

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

Я.К. Шмидский

АЦАЛЕКМЛСА

Москва • Санкт-Петербург • Киев

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 года. Я принимал участие в самых разных проектах — начиная от весьма “технических” (вроде создания компиляторов, опера­ ционных систем и систем автоматизации технологических процессов), предназначен­ ных для того, чтобы исключить участие в том или ином технологическом процессе, до вполне “гуманитарных”, в которых разнообразные “железки” играли лишь вспомога­ тельную роль. (К категории таких “гуманитарных” проектов я отношу и написание книг вроде этой.) Но чтобы создавать программы, которые облегчают людям жизнь, мне пришлось стать математиком, разобраться в компьютерах и научиться писать программы. И для этого мне понадобились книги, компьютеры и программы, напи­ санные другими людьми. Поэтому я хочу выразить огромную признательность авторам всех книг, по которым я учился математике, программированию и другим наукам, — без этих книг я не мог бы разобраться в математике, компьютерах и программирова­ нии. Но, к сожалению, едва ли это осуществимо. Если бы я рискнул перечислить всех, получился бы довольно длинный перечень авторов книг по математике и ком­ пьютерам, издававшихся в издательствах — советских, зарубежных и постсоветских. Наверное, еще длиннее выглядел бы список разработчиков компьютеров и про­ грамм, которые мне помогали реализовывать самые разнообразные проекты — как “технические”, так и “гуманитарные” Но даже изучить все эти книги, разобраться в компьютерах и создать несколько интерпретаторов, компиляторов и операцион­ ных систем — еще совсем не значит уметь донести свои знания студентам и читате­ лям. Овладеть всеми необходимыми знаниями и навыками мне помогали многие лю­ ди. Всем им моя глубокая благодарность. Я помню всех, но перечислить могу лишь немногих. Выражаю свою сердечную благодарность:

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

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

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

Владимиру Яковлевичу Грицкову — за плодотворные обсуждения концепций аппа­ ратно-программной реализации языков высокого уровня (в большинстве своем это были входные языки систем компьютерной алгебры) и операционных систем для процессоров, на которых реализовывались концепции параллельного программирова­ ния и системы компьютерной алгебры. В совместной работе по реализации таких проектов он постоянно оказывал неоценимую помощь и поддержку, а также учил ме­ ня работать за пультами машин второго и третьего поколений и хладнокровно, без паники, разбираться в бесконечных дампах, выдаваемых в ночные смены этими монстрами, и находить ошибки аппаратуры. К счастью, благодаря выработанным