Главная страница

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


Скачать 4.43 Mb.
НазваниеНастоящий учебник посвящен системе Mathematica прикладному пакету компьютерной алгебры, при помощи которого можно решать любые задачи, в которых в той или иной форме встречается математика
АнкорМатематика
Дата11.05.2022
Размер4.43 Mb.
Формат файлаpdf
Имя файла106-108.pdf
ТипУчебник
#521834
страница19 из 38
1   ...   15   16   17   18   19   20   21   22   ...   38
Q: How many mathematicians does it take to screw in a light bulb?
A: None. It's left to the reader as an exercise.
But those who do not care about fanciful things have no reason to read about Ireland.
Lord Dunsany, My Ireland
“Dwarf-doors are not made to be seen when shut,” said Gimli. “They are invisible, and their own masters cannot find them or open them,
if their secret is forgotten.”
J.R.R Tolkien, The Lord of the Rings
“Have you guessed the riddle yet?” the Hatter said, turning to Alice again.
“No, I give it up,” Alice replied. “What's the answer?”
“I haven't the slightest idea,” said the Hatter.
Lewis Carroll, Alice’s adventures in Wonderland
Think, speak, cast, write, sing, number.
William Shakespeare, Antony and Cleopatra
По прихоти своей скитаться здесь и там,
Дивясь божественным природы красотам,
И пред созданьями искусств и вдохновенья
Трепеща радостно в восторгах умиленья.
— Вот счастье! вот права . . .
Александр Пушкин, Из Пиндемонти
Модуль “Задачи” основан на курсе “Математика и компьютер”, кото- рый мы вели несколько лет на экономическом факультете СПбГУ. Сюда

253
включено большинство задач, обсуждавшихся на занятиях, а также зада- чи, предлагавшиеся в качестве домашних заданий, на зачетах и экзаменах.
Задачи, которые рассматривались в рамках этого курса, относились пре- имущественно к теории чисел (различные способы и форматы представле- ния чисел, простые числа, основы мультипликативной теории чисел, ад- дитивные задачи), дискретной математике (множества, наборы, списки,
функции, отношения), комбинаторике (перестановки, простейшие задачи перечисления, биномиальные коэффициенты, числа Стирлинга и т.д.) и алгебре (многочлены и рациональные дроби, системы алгебраических урав- нений, представление матриц и действия над ними, численные инварианты и канонические формы матриц, простейшие алгебраические системы). В
качестве обоснования в пользу такого выбора мы можем сказать следую- щее.
В этих областях имеется много легко формулируемых задач, решение которых не требует (почти) никаких специфических знаний.
Эти темы традиционно являются центральными для самой математи- ки, а в последние десятилетия играют огромную и постоянно возрастающую роль в ее приложениях, связанных с компьютерами и информационными технологиями.
В то же время все эти важнейшие темы практически не представлены в действующих программах по математике для нематематиков!!!
Кроме того, обсуждалось совсем небольшое количество задач, связанных с основами анализа (графики функций, пределы, суммы и произведения,
производные и интегралы), элементарной геометрией и элементарной тео- рией вероятностей (конечные вероятности, генерация случайных объектов).
Основное содержание модуля, представленное в главах 7-9, предваря- ют несколько замечаний о субстрате, содержании и основных установках курса, и предполагаемом уровне подготовки.
1. Соединить идеи с вычислениями
55
Последние три века развитие математики происходило под действием следующей антитезы:
слогана Лейбница заменить идеи вычислениями,
слогана Дирихле заменить вычисления идеями.
Однако, как известно, прогрессивное человечество без труда обалдевает даже простейшими идеями
56
К сожалению,
в конце XIX начале XX в преподавании матема- тики под громкие крики о сохранении традиций произошел полный раз- рыв с традицией. Поэтому все преподавание математики извратило тезис
Лейбница настолько успешно, что не только школьный курс математики,
55
Slick's Third Law of the Universe: There are two types of dirt: the dark kind, which is attracted to light objects, and the light kind, which is attracted to dark objects.
56
humankind lives under perverted ideas.

254
но и традиционные вузовские курсы высшей математики, математическо- го анализа, аналитической геометрии, линейной алгебры превратились в бессвязные наборы бессмысленных и бессодержательных калькулятивных экзерсисов.
С другой стороны, в XX веке многие математики извратили тезис Ди- рихле настолько успешно, что значительная часть математических иссле- дований полностью утратила связь не только с вычислениями, не только с математическим естествознанием, но вообще с чем бы то ни было, включая саму математику, и полностью превратилась в артефакты для артефактов.
Понимая и полностью разделяя пафос обоих этих высказываний, мы все же считаем, что в истории математики все разумные люди, — включая,
конечно самих Лейбница и Дирихле!! — всегда пытались соединить идеи с вычислениями.
В нашем учебнике мы хотим показать, что настоящая математика — как и настоящее программирование — основаны на игре и равновесии идей и вычислений. Мы хотим продемонстрировать, что любую идею можно пре- вратить в вычисление и что правильно организованное вычисление может привести не только к результату, но и к пониманию. Мы хотим проиллю- стрировать, как можно использовать вычисления для того, чтобы прове- рить — или опровергнуть! — математические утверждения. И, наоборот,
как простые и естественные идеи можно использовать для того, чтобы рез- ко упростить или даже вовсе элиминировать вычисления.
Как математики, мы полностью, безоговорочно, без всяких резерваций верим в могущество простых, но могущественных идей. Но мы верим также, что, в той мере, в которой математика является наукой,
она, как и все остальные науки,
основана на эксперименте. Прежде,
чем доказывать результат, нужно убедиться в его справедливости. Закон распределения простых или теорема Дирихле о простых в арифметических прогрессиях являются прежде всего экспериментальными фактами. Дока- зательства сообщают этим фактам дополнительную глубину и объем, но мало меняют нашу уверенность в их истинности.
Так как основной задачей учебника является именно полное согласо- вание математической и алгоритмической точек зрения, то характер из- ложения и предлагаемых задач радикально отличаются от подавляющего большинства как математических, так и компьютерных курсов. Наше из- ложение в гораздо большей степени основано на эксперименте, чем принято в математике, и, с другой стороны, в гораздо большей степени основано на чистом умозрении, чем обычно в Computer Science.
Задачи, которые мы предлагали на занятиях, на зачетах и экзаменах,
являются слишком простыми как для опытного математика (который мо- жет решить почти все из них вообще не пользуясь компьютером), так и для опытного вычислителя (который для большинства из них может написать программу, не зная почти ничего об их математической сути). Однако, как нам кажется, для студентов первого курса, еще не страдающих професси- ональной гипертрофией соответствующих отделов мозга, решение некото-

255
рых из этих задач может потребовать напряжения воображения и должно способствовать улучшению мозгового кровообращения и выработке полез- ных навыков.
С другой стороны, в дальнейшем мы постараемся объяснить свою точку зрения, состоящую в том, что на начальном этапе изучения программи- рования борьба за эффективность is not an issue. Именно поэтому мы практически не обсуждаем в нашем учебнике серьезные профессиональные алгоритмы сортировки и поиска, где недостаточно просто полиномиально- сти, а происходит борьба за степень и мультипликативные константы. Как нам кажется, это отвечает принципиально другому уровню алгоритмиче- ского мышления и возможно только после того, как студент усвоил основы алгоритмики и научился непринужденно писать коды, выражающие важ- нейшие математические операции и конструкции.
2. Субстрат
57,58
То, что настоящий курс преподавался экономистам, накладывало замет- ные ограничения на характер и направленность изложения.
В частности, излагая арифметику мы ограничивались обсуждением ис- ключительно следующих числовых систем, которые реализованы в каче- стве числовых доменов
59
в ядре системы Mathematica.
Booleans
{True,False} значения истинности
Integers
Z
целые числа
Primes
P
простые числа
Rationals
Q
рациональные числа
Algebraics
Q
алгебраические числа
Reals
R
вещественные числа
Complexes
C
комплексные числа
В отличие от Axiom и MuPAD в Mathematica кольца классов вычетов
Z/mZ
не оформлены внутренним образом как домены. Тем не менее, модуляр- ная арифметика легко реализуется при помощи функций Mod и PowerMod,
а также установки опции Modulus->m, поддерживаемой большинством ал- гебраических команд. Дефолтная установка этой опции Modulus->0 соот- ветствует обычной арифметике целых чисел.
57
Мы имеем здесь дело с математикой, а не теологией. Пусть другие математики думают, что им доступно проникновение в мысли Бога об их любимом предмете; мне это всегда казалось пустым и бессмысленным занятием.
c
Андре Вейль — А.Вейль.
Основы теории чисел. — М.: Мир, 1972. 408с.
58
Если что-нибудь может подорвать незаслуженный авторитет одних и упрочить справедливую славу других, так это только возможно большее распространение в массах теоретических сведений о музыке. c
Петр Чайковский
59
В документации к системе домен
Q алгебраических чисел обозначается через A, но профессиональные математики чаще обозначают через
A множество целых алгебраиче- ских чисел.

256
Если бы мы читали аналогичный курс математикам или физикам, то,
несомненно, рассматривали бы в нем наравне с перечисленными выше тра- диционными числовыми системами также по крайней мере следующие ко- нечные, неархимедовы, некоммутативные и неассоциативные числовые си- стемы:
GaloisField[q]
F
q
конечное поле из q элементов
PadicIntegers[p]
Z
p
целые p-адические числа
Padics[p]
Q
p
p-адические числа
Quaternions
H
кватернионы
Octonions
O
октавы Кэли
AlbertNumbers
J
числа Алберта
В действительности, почти все эти числовые структуры реализованы
— именно под такими названиями — в стандартных пакетах, входящих в поставку системы. Эти новые типы чисел играют огромную — и все время растущую! — роль не только в самой математике, но и в ее приложениях,
как во всех приложениях в Computer Science и передаче информации, так и в современных физических теориях.
Конечные поля не только естественно возникают в теории чисел, алгеб- ре, комбинаторике и геометрии, но и являются естественным контекcтом для большинства результатов криптографии и кодирования.
Что касается p-адических чисел, то, кроме их центральной роли в тео- рии чисел, алгебре и анализе, они находят все более широкие приложения в математической физике. Кроме того, как оказалось, p-адические числа с конечным p гораздо лучше, чем вещественные, приспособлены для без- ошибочных вычислений. Вещественные числа
R = Q

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

R гипервещественных чисел и дру- гих неархимедовых системах, в которых вещественные числа расширяются посредством добавления актуально бесконечно малых и/или актуально бес- конечно больших. Введение актуально бесконечно малых позволяет дать значительно более внятную и вычислительно эффективную трактовку всех вопросов математического анализа.

257
Ничего не говорится об арифметике числовых полей, даже простейших квадратичных полей, таких как поле гауссовых чисел
Q(i), поле эйзенштей- новых чисел
Q(ω), пифагорово поле Q(

2) и поле золотого сечения
Q(

5).
Единственной причиной этого снова была чисто физическая невозможность хотя бы просто упомянуть алгебраическую теорию чисел при ограничени- ях, накладываемых отведенным временем и подготовкой студентов.
Однако, любой, кто серьезно овладел нашим курсом и знает необходи- мую математику, сможет легко проводить вычисления в этих и любых дру- гих числовых системах.
3. Стиль программирования
60,61
Мы считаем, что требование в элементарных курсах программирова- ния пользоваться исключительно “эффективными” алгоритмами является столь же лицемерным и абсурдным, как требование сопровождать все со- общаемые в элементарных математических курсах результаты “полными и подробными” доказательствами.
Понятие доказательства не является абсолютным, а носит прагмати- ческий и психологический характер.
Доказательство — это такое рассуждение, которое убеждает нас настолько, что мы готовы убеждать других.
Точно так же и понятие эффективности алгоритма носит исключи- тельно прагматический и психологический характер.
Эффективный ал- горитм — это такой алгоритм, который дает ответ на поставлен- ную задачу на имеющемся оборудовании за приемлемое для пользователя время.
Важнейшей задачей любого курса программирования на начальном этапе является развитие алгоритмического мышления. Для боль- шинства начинающих серьезной трудностью является понимание алгорит- ма как такового, а также уточнение и перевод математических понятий на язык понятный компьютеру. С этой точки зрения чрезвычайно полезно сравнивать разные алгоритмы, в том числе даже заведомо плохие.
Для небольших значений параметров – скажем, порядка несколь- ких сотен или нескольких тысяч – время вычисления пренебрежимо мало по сравнению со временем обмена с памятью и вывода на экран и борьба
60
Ведь я, например, нисколько не удивлюсь, если ни с того ни с сего среди всеобщего будущего благоразумия возникнет какой-нибудь джентльмен с неблагородной или, луч- ше сказать, с ретроградной и насмешливою физиономией, упрет руки в боки и скажет нам всем: а что, господа, не столкнуть ли нам все это благоразумие с одного разу, ногой,
прахом, единственно с той целью, чтоб все эти логарифмы отправились к черту и чтоб нам опять по своей глупой воле пожить! Это бы еще ничего, но обидно то, что ведь непременно последователей найдет. — c
Федор Достоевский, Записки из подполья
61
Efficiency is only an issue if the code fails to produce an answer. As long as the memory requirements of the code does not exceed the memory of the computer used and as long as the time required does not exceed the user's patience, the code is efficient enough.— c
Joseph
Sloan

258
за эффективность алгоритма вообще не имеет никакого смысла.
Здесь часто можно использовать экспоненциальные алгоритмы, которые во многих случаях гораздо проще реализовать. В большинстве реально воз- никающих задач время, необходимое для реализации более эффективного алгоритма, никак не компенсируется выигрышем в скорости вычисления.
Более того, для многих задач при таких значениях параметров, при ко- торых они еще решаются в реальное время на бытовом компьютере, асим- потически более эффективные алгоритмы проигрывают в скорости менее эффективным за счет больших аддитивных и/или мультипликативных кон- стант, необходимости предварительной обработки данных и других подоб- ных обстоятельств.
Выбор профессионального алгоритма для решения задачи, находящей- ся на пределе сегодняшних вычислительных возможностей, является чрез- вычайно тонким делом. Например, в большинстве задач линейной алгебры выбор параметров алгоритма определяется абсолютно конкретными дета- лями используемой системы и зависит от организации конвейера, объема кэша и других подобных обстоятельств. Обсуждение подобных деталей на начальном этапе обучения программированию представляется совершенно абсурдным.
В настоящем пособии параметры подобраны так, чтобы на стандартном персональном компьютере вычисление производилось за секунды — или,
в исключительных случаях, за одну-две минуты. Другим ограничением являлась величина вывода. Обычно параметры выбраны так, чтобы по- лучающийся ответ полностью помещался на один экран. Продолжающееся несколько минут вычисление или непомерно длинный вывод в большинстве случаев следует рассматривать как явное указание на ошибку в программе.
4. Пререквизиты
62
Предполагается, что читатель знаком с простейшими понятиями язы- ка Mathematica и несколькими десятками основных внутренних функций примерно в объеме приводимого ниже силлабуса, полностью покрываемого содержанием первых двух модулей.
Все используемые в Модуле 3 математические определения и факты,
выходящие за рамки школьного курса математики и излагаемые на 1-м курсе анализа и линейной алгебры, нами напоминаются.
62
“You know, it's at times like this when I'm trapped in a Vogon airlock with a man from
Betelgeuse and about to die of asphyxiation in deep space that I really wish I'd listened to what my mother told me when I was young!”
“Why, what did she tell you?”
“I don't know, I didn't listen!” c
Douglas Adams, Hitchhiker’s Guide to the Galaxy

259 5. Силлабус
63,64 5.1. Основы синтаксиса.
Объекты, атомарные объекты, тип объекта, имя объекта, объекты ти- пов Integer, Rational, Real, Complex, Symbol, String.
Разделение аргументов функции или компонент списка Comma , и раз- деление команд или частей аргумента Semicolon ;.
Выражения, правильно составленные выражения. Заголовок, длина,
часть, уровень: FullForm, Head, Length, Part, Level.
Группировка и скобки: Parenthesis (), Braces {}, Brackets [], Dou- bleBrackets [[]].
Спецификация уровня: Level, Depth, n, -n, {n}, {m,n}.
Значения истинности True, False и простейшие тесты TrueQ, SameQ
===, UnsameQ =!=, IntegerQ, PrimeQ, EvenQ, OddQ, NumberQ, NumericQ.
Проверка принадлежности списку или домену MemberQ, Element, FreeQ.
Основные булевы операции Not !, And &&, Or ||, Xor, Implies и кван- торы ForAll, Exists.
Важнейшие отношения: Equal ==, Unequal !=, Greater >, Greater-
Equal >=, Less <, LessEqual <=, Order.
Переменные и их значения. Текущее значение. Немедленное и отло- женное присваивание: Set == и SetDelayed :=. Чистка: ClearAll.
Немедленная и отложенная подстановка: Rule -> и RuleDelayed :>.
Замены: Replace /., Replace All //., ReplaceRеpeated.
Внутренние итеративные конструкции: Do, Sum, Product, Table. Фор- мы итератора
{n}, {i,n}, {i,m,n}, {i,m,n,d}.
Понятие о приоритете, таблица приоритетов.
5.2. Числа.
Домен Booleans и числовые домены Integers, Primes, Rationals, Al- gebraics, Reals, Complexes,
Задание целых и рациональных чисел. Команды работы с цифрами:
IntegerDigits, FromDigits, DigitCount.
Арифметические операции Plus +, Minus -, Subtract -, Times *, Di- vide /, Power ^, Sqrt.
63
J'ai oubli´
e l'orthographie aussi, et la moiti´
e des mots.
Cela n'a pas d'importance,
paraˆıt-il. (фр.) — Я также забыл орфографию и половину слов. Но это, скорее всего, не имеет никакого значения c
Samuel Becket, Molloy
64
Забудьте, если знали, и никогда не вспоминайте, и даже не пытайтесь узнать, что означают слова: гаспаччо, буйабез, вишисуаз, минестроне, авголемоно. Не спрашивайте,
из каких продуктов сделаны эти блюда, острые они или пресные, холодные или горячие.
Вам этого знать не нужно. Да чего там гаспаччо: забудьте разницу между щами и борщом. c
Татьяна Толстая, Сердца горестные заметы

260
Делимость целых чисел, наибольший общий делитель GCD и наимень- шее общее кратное LCM. Факториал Factorial !.
Деление целых чисел с остатком: Quotient, Mod, PowerMod.
Простые числа: Prime, PrimeQ, PrimePi. Основная теорема арифмети- ки: FactorInteger, IntegerExponent.
Задание вещественных чисел и основные числовые форматы. Прибли- женное значение N и RealDigits. Основные константы: E, Pi, Infinity.
Основные численные функции: Abs, Sign, Max, Min, Round, Floor, Ceil- ing.
Задание комплексных чисел: I, Re, Im, Abs, Arg, Conjugate, Complex-
Expand.
Генерация (псевдо)случайных чисел при помощи функции Random, па- раметры функции Random, затравка генератора случайных чисел SeedRan- dom.
5.3. Элементарные функции.
Функция, имя функции, аргумент, значение. Функциональная и опе- раторная запись функции.
Задание многочленов и их структура: Variables, Coefficient, Coef- ficientList, Exponent.
Основные структурные манипуляции с многочленами: Expand, Factor,
Collect, Decompose.
Арифметика многочленов: PolynomialQuotient, PolynomialRemain- der, PolynomialMod, PolynomialGCD, PolynomialLCM, PolynomialReduce.
Рациональные дроби и структурные манипуляции с ними: Numerator,
Denominator, Together, Apart, ExpandAll.
Решение (алгебраических) уравнений: Solve, Roots, Root, Linear-
Solve, Reduce, Eliminate.
Основные элементарные функции: Exp, Log, Cos, Sin, Tan, Cot.
Символьное дифференцирование и интегрирование: Limit, Series, D,
Derivative, Integrate, DSolve.
Упрощение выражений: Simplify, FullSimplify, Refine, Function
Expand. Упрощение с предположениями.
5.4. Функциональное программирование.
Основные классы функций языка Mathematica: арифметические опе- рации, символьные вычисления, структурные манипуляции, булевы функ- ции, числовые функции, приближенные функции, функции работы со спис- ками, команды и директивы процедурного и функционального программи- рования.

261
Функции нескольких аргументов. Функциональная запись f[x,y], пре- фиксная операторная запись f @@
{x,y}, инфиксная операторная запись x
fy и постфиксная операторная запись Sequence[x,y] // f
Формат аргументов, список и последовательность аргументов, отличие f[x][y], f[x,y] и f[
{x,y}].
Типы аргументов. Явные аргументы (собственно аргументы) и неяв- ные аргументы (параметры, опции, атрибуты). Дефолтные значения. На- стройки опций Option->Choice.
Фиктивные переменные, бланки Blank и последоваетльности бланков
BlankSequence
, BlankNullSequence
Задание функций с помощью конструкции f[x ]:=rhs. Опоределение с условием Condition /;.
Индукция и рекурсия. База индукции и шаг индукции. Начальные условия и рекуррентные соотношения.
Контроль времени Timing. Сравнение эффективности алгоритмов.
Экспоненциальный, полиномиальный и логарифмический рост.
Сравнение различных определений степени, факториала, биномиаль- ных коэффицентов, чисел Фибоначчи и чисел Стирлинга с точки зрения вычислительной эффективности.
Конструкция Remember, запоминающая таблицу значений функции f[x ]:=f[x]=rhs].
Чистая и анонимная функция Function &, слоты и последовательности слотов: Slot #, SlotSequence ##.
Итерации функций: Nest, NestList, NestWhile, FixedPoint, Fold,
FoldList.
Применение функций к спискам: Apply, Map, MapAt, MapAll, MapThread,
MapIndexed, Scan.
Распределение и протаскивание действия функций: Inner, Outer, Dis- tribute, Thread, Through, Operate.
5.5. Списочное программирование.
Списки и последовательности: List и Sequence. Выделение частей списка: Part, Extract.
Формирование списков: Table, Array, Range, CharacterRange.
Вычеркивания: Take, Drop, First, Last, Most, Rest, Delete.
Вставки и замены: Insert, ReplacePart, Append, AppendTo, Prepend,
PrependTo.
Выборки: Select, Cases, DeleteCases, Count, Position.
Простейшие структурные манипуляции: Join, Reverse, RotateLeft,
RotateRight, PadLeft, PadRight.

262
Вложенные списки и изменение уровней вложенности: Flatten, Flat- tenAt, Partition, Split, Transpose.
Сортировка списков: Sort, Ordering, Permutations, и т.д.
Основные теоретико-множественные операции: Union, Intersection,
Complement.
Операции над матрицами. Матричное умножение Dot ., обратная мат- рица Inverse, функции от матриц MatrixPower, MatrixExp.
Системы линейных уравнений: LinearSolve, NullSpace, RowReduce.
Инварианты матриц: Det, Tr, Minors, MatrixRank.
Собственные числа и векторы: Eigenvectors, Eigenvalues, Eigen- system
5.6. Процедурное программирование.
Основной цикл: In, Out.
Организация циклов Do, For, While, Increment ++, Decrement --.
Условные операторы: If, Which, Switch.
Передача управления: Goto, Label.
Конструкции локализации переменных Block, Module.
Удерживание в вбрасывание: Hold, Return, Evaluate.
Контексты: Begin, End. Чтение файлов Get <<.

263
Глава 7. АРИФМЕТИКА И ТЕОРИЯ ЧИСЕЛ
The genealogical trees at the end of the Red Book of Westmarch are a small book in themselves, and all but Hobbits would find them ex- ceedingly dull. Hobbits delighted in such things, if they were accurate:
they liked to have books filled with things that they already knew, set out fair and square and with no contradictions.
J.R.R.Tolkien, The Lord of the Rings
§ 1. Целые числа
Why are numbers beautiful? It's like asking why is Beethoven's Ninth
Symphony beautiful. If you don't see why, someone can't tell you. I
know numbers are beautiful. If they aren't beautiful, nothing is.
Paul Erd¨
os
1. Арифметика целых чисел.
65,66
Следующие тесты выясняют, имеет ли число x формат целого числа и,
в этом случае, является ли оно четным или нечетным.
IntegerQ[x]
целочисленность x
EvenQ[x]
четность x
OddQ[x]
нечетность x
Стоит еще раз подчеркнуть, IntegerQ[x] возвращает True, только в том случае, когда число x имеет заголовок Integer. Во всех остальных случаях, даже если x задекларировано как целое, например, посредством указания паттерна, тест IntegerQ[x] вернет значение False. Тем самым,
IntegerQ[2] возвращает значение True, в то время как IntegerQ[2.] —
False. Дело в том, что с точки зрения системы 2. является вовсе не целым,
а приближенным вещественным числом.
Все арифметические операции в Mathematica имеют обычные названия и подчиняются стандартным соглашениям.
x+y+z
Plus[x,y,z]
сложение
-x
Minus[x]
переход к противоположному x-y
Subtract[x,y]
вычитание x*y*z
Times[x,y,z]
умножение x/y
Divide[x,y]
деление
Единственное, на что следует обращать внимание, это вопросы приоритета.
Например, выражение a/b*c будет интерпретировано как ac/b. Поэтому
65
Seid umschlungen, Millionen! (нем.: Обнимитесь, миллионы!) c
Friedrich Schiller
66
A billion here, a couple of billion there — first thing you know it adds up to be real money. c
Bill Gates

264
во всех сомнительных случаях следует использовать скобки. Выражение
ab/cd предпочтительно вводить в виде (a*b)/(c*d).
1.1. Сколько среди выражений a/b/c/d, a/(b/c)/d, a/b/(c/d), a/(b/c/d),

1   ...   15   16   17   18   19   20   21   22   ...   38


написать администратору сайта