Mathematica. Назначение Ядра пакета. Понятие сессии.
Центральное место в системах класса Mathematica занимает машинно-независимое ядро математических операций — Kernel. Увеличение объема ядра в системе Mathematica позволило перенести в ядро ряд функций из пакетов расширения. Ядро системы тщательно оптимизировано, что повысило скорость выполнения большинства команд.
Ядро сделано достаточно компактным с тем, чтобы любая его функция вызывалась достаточно быстро. позиционируя курсор в ячейке типа Inpu, мы ее активизируем, используя комбинацию клавиш <Shift + Enter >. Ядро (Kernel) обеспечивает выполнение всех вычислительных процессов в системе. Объектом работы ядра является Сессия (Session). Ядро – программа, которая создает Сессию и управляет ее работой.
Во время Сессии Mathematica обрабатывает – вычисляет – выражения, поставляемые ей во входной ячейке. Вычисляемая во время Сессии ячейка является объектом по имени In [i ], где i означает номер входной ячейки. Соответствующая ей выходная ячейка нумеруется Out [ i ]. Если во время Сессии Оболочка представлена несколькими Документами, то вся информация, которая подается Ядру, нумеруется последовательно, независимо от Документа. Таким образом, нумерация входных и
выходных ячеек сквозная на протяжении Сессии. Она не изменяется, даже если некоторые ячейки удалить из Блокнота.
Mathematica. Главный цикл пакета.
Общение с пакетом построено по принципу «вопрос - обработка -ответ». Обмен информацией между Оболочкой и Ядром обеспечивает Транспортный Протокол MathLink. В процессе Сессии, в режиме интерактивной работы, Mathematica работает циклически. Последовательность действий системы с момента активизации входной ячейки типа Input до момента возврата вычисленной информации в Out-ячейке называют Главным Циклом (Main Loop) пакета.
Mathematica. Формы представления выражения.
Выражение - совокупность данных, состоящая из головы и подвыражений, каждое из которых является, в свою очередь, также выражением, вплоть до атомов. Данное определение рекурсивно, и, как всякая рекурсия, требует определения первоосновы, здесь - определения атомарного выражения. Атомарное выражение - выражение, не содержащее подвыражений. Система работает с выражением, преобразовывая его во внутренний формат, или в полную форму. Полная форма выражения - представление выражения в виде Head [subexprj,subexpr2,..., subexprn] (1), где Head - голова выражения, subexpri, i = 1,..., n - подвыражения первого уровня, которые, в свою очередь, являются выражениями и также имеют вид (1), и т. д. вплоть до атомарных объектов.
Mathematica. Структура выражения. Функции, ее определяющие
представление выражения в виде Head [subexprj,subexpr2,..., subexprn] (1), где Head - голова выражения, subexpri, i = 1,..., n - подвыражения первого уровня, которые, в свою очередь, являются выражениями и также имеют вид (1), и т. д. вплоть до атомарных объектов. В пакете Mathematica все есть выражение. Вид (1) имеют уравнения, неравенства, операторы, более привычные для нас в традиционной математической нотации, а также функции, структуры данных, команды - любая информация входной вычисляемой ячейки является выражением. Результат работы Ядра - выходная ячейка - также содержит информацию вида (1), то есть выражение. Любая функция или команда, независимо от того, является ли она встроенной или была определена пользователем, имеет вид (1). При этом голова выражения Head является именем функции, а подвыражения, записанные в скобках - ее аргументами. Для вызова функции используют различную форму ее записи. Полная форма функции совпадает с полной формой выражения (1). Функции одного аргумента могут быть записаны в префиксной форме, с использованием символа @ после имени функции, либо постфиксной форме, записывая имя функции после аргумента и разделяя аргумент и функцию символом //.