- •5 Mathematica. Назначение Ядра пакета. Понятие сессии.
- •6 Mathematica. Главный цикл пакета.
- •Mathematica. Формы представления выражения.
- •Mathematica. Структура выражения. Функции, ее определяющие
- •Mathematica. Назовите не менее пяти видов выходных форматов выражения.
- •Mathematica. Атомарные объекты, входной формат и полная форма каждого вида
- •Mathematica. Оператор Apply и семейство операторов Map.
- •Mathematica. Функции-конверторы, позволяющие преобразовывать тип атомарных объектов.
- •Mathematica. Функции, определяющие свойства атомарных объектов.
- •Mathematica. Встроенные константы и предопределенные переменные пакета.
- •Mathematica. Укажите четыре формы записи функций.
- •Mathematica. Чистые и анонимные функции.
- •Mathematica. Построение функции пользователя.
- •Mathematica. Что такое образцы и где они используются. Проверка на соответствие образцу
- •Mathematica. Семейство Set функций.
- •Mathematica. Организация справочной системы
- •Mathematica. Именование образца и его части. Примеры
- •Mathematica. Образцы, соответствующие условию. Примеры
- •Mathematica. Образцы, содержащие альтернативу. Примеры
- •Mathematica. Функции добавления, извлечения, удаления элементов из списков
- •Mathematica. Операции над списками как над множествами.
- •Mathematica. Изменение структуры списка
- •Mathematica. Функции Inner и Outer работы со списками
- •Mathematica. Стандартныей порядок вычисления выражения
- •Mathematica. Как можно изменить стандартный порядок вычисления выражения
- •Mathematica. Конструкции, управляющие ходом вычисления
- •Mathematica. Управляющие структуры выбора
- •Mathematica. Управляющие структуры повторения
- •Mathematica. Обработка аварийного (намеренного) выхода из упарвляющих конструкций
- •Mathematica. Двумерные графический примитивы
- •Mathematica. Трехмерные графические примитивы
- •Mathematica. Построение матриц и операции над ними, особенности.
- •Mathematica. Преобразование алгебраических выражений.
- •Mathematica. Решение уравнений и систем.
- •Mathematica. Функции двумерной графики, их опции.
- •Mathematica. Функции трехмерной графики, их опции.
Mathematica. Стандартныей порядок вычисления выражения
Вычисление выражения в Mathematica основано на использовании правил преобразования. К выражению применяются все возможные правила, которым обучена система. Какие правила применять, система оп-
ределяет, просматривая списки правил, ассоциированных с тем или иным символом. Таким образом, процесс вычисления выражения опира¬ется на вычисление символов. Какие существуют возможности пакета при работе с символами?
Во-первых, с символами связаны четыре типа правил преобразова¬ния глобального характера. А именно, правила преобразований, введен¬ные посредством функций семейства xSetxxx, обязательно заносятся в один из списков
• Собственных значений символа Own Values,
• Верхних значений символа Up Values,
• Нижних значений символа Down Values,
• Дальних значений символа Sub Values,
которые система просматривает при вычислении выражения.
Во-вторых, символы могут снабжаться атрибутами, то есть наделя-яться некоторыми свойствами. Эти свойства учитываются на определен¬ных этапах вычисления выражения.
Стандартный порядок вычисления выражения следующий:
1. Атомарные объекты: числа, строки и символы, не имеющие собствен¬ных значений, не вычисляются.
2. Первой вычисляется голова выражения, затем - каждое подвыраже¬ние, слева направо. Вообще говоря, каждое не атомарное подвыраже¬ние является выражением, поэтому рекурсивно происходит вычисле¬ние выражения, стоящего на уровень ниже.
3. Если встречаются символы, имеющие собственные значения Own Va¬lues, то им присваивается указанное собственное значение.
4. Если символ-голова наделен свойствами коммутативности, ассоциа¬тивности, дистрибутивности относительно списков (имеет атрибуты Orderless, Flat, bistable), то применяются эти свойства.
5. Выполняются правила преобразований, определенные пользователем в текущей Сессии. При этом списки значений символа просматрива¬ются в следующем порядке:
• Список верхних значений символа Up Values,
• Список нижних значений символа Down Values,
• Список дальних значений символа Sub Values.
6. Применяются встроенные в систему (built-in) определения.
7. Если в процессе вычисления ни одна часть выражения не изменилась, вычисления прекращаются.
Mathematica. Как можно изменить стандартный порядок вычисления выражения
Существует семейство Holdxxx атрибутов, с помощью которых можно управлять порядком вычисления выражения. Перечислим основные атрибуты этого семейства:
Атрибут HoldAll блокирует вычисление всех подвыражений первого уровня,
Атрибут HoldFirst опускает вычисление первого подвыражения первого уровня,
Атрибут HoldRest блокирует вычисление всех подвыражений первого уровня, кроме первого.
Такими свойствами наделяют символ, если требуется не вычислять какую-либо часть обрабатываемого системой выражения. При этом говорят, что тот или иной аргумент функции замораживается.
SetAttributes[f,HoldFirst] f[l+5, x+2]
f[1+5,2+x]
В рассмотренном выше примере заморожен первый аргумент выражения с головой f, поэтому система его не вычислила.
В случае, когда необходимо локально вычислить некоторое замороженное подвыражение, применяют функцию Evaluate [expression].
