Инфоурок Информатика Другие методич. материалыРеферат на тему "Система Axiom и ее возможности для символьных вычислений"

Реферат на тему "Система Axiom и ее возможности для символьных вычислений"

Скачать материал

1 Введение

 

1.1 Что такое «Аксиома»

«Аксиома» (Axiom) — свободная универсальная система компью­терной алгебры. Она состоит из среды интерпретатора, компилятора и биб­лиотеки, описывающей строгую, математически правильную иерархию ти­пов.

 

Разработка «Аксиомы» ведётся с 1971 года. В то время она назы­валась«Черновик»(Scratchpad) и была большим проектом универсальной системы компьютерной алгебры, созданным в «Межделмаше» (IBM) под руководством Ричарда Дженкса (RichardJenks). На протяжении 20 лет про­ект «Аксиома», руководимый Барри Тагером (BarryTager), был инструмен­том серьёзных исследований в вычислительной математике. В 1990-е, когда удача отвернулась от IBM, проект был продан компании «Числовые алгоритмы» (NumericalAlgorithmsGroup) и, став ком­мерческим продуктом, получил своё нынешнее имя. По разным причинам«Аксиома» продавалась не очень хорошо и в октябре 2001 года покинуларынок программного обеспечения. В сентябре 2002 года «Аксиома» была выпущена под свободной лицензией БСД,2) а 27-го августа 2003 года сталадоступна для загрузки с сайта Фонда свободного программного обеспече­ния — «Саванна» В 2007 году на основе «Аксиомы» были созданы ещё два проекта: «Фрикас» и «Открытая Аксиома». В настоящее время «Аксиома» доступна и может быть использована на многих системахтипа Юникс, в том числе Линукс, а также Виндоус.

Одной из причин коммерческого провала «Аксиомы» можно считать

(а можно и не считать) саму её суть: она многое делает не так, как большинство программ. В основе «Аксиомы» лежит строгая математика, и это — еёприоритет над красивой внешностью или удобством использования. Однакоудобство использования — понятие субъективное, и для подготовленногоспециалиста «Аксиома» — настоящий подарок и удовольствие.

«Аксиома» не только интерактивная программа с построчным вводом,она также — компилятор полноценного языка, с помощью которогоможно строить и исследовать математические конструкции. Фактически,такие построения составляют суть развития «Аксиомы» как программы.Неполный список включает: понятия группы и кольца, арифметику произвольнойточности, комплексные и гиперкомплексные числа, матрицы, ряды, пределы, производные, интегралы, дифуры, а также их комбинации вроде матриц, рядов из матриц и многое другое.

Решающая сила «Аксиомы» кроется в её великолепной структуре,которая позволяет наращивать новые возможности, не увеличивая общую сложность системы (программа «не умрёт под собственной тяжестью», чем страдают многие, не только научные, коммерческие монстры). Дизайн «Аксиомы» позволяет интегрировать её с другими инструментами типа численных библиотек на Фортране или Си. «Аксиома» — литературная программа, технология литературного программирования Дональда Кнута используется по всему исходному коду, что позволяет «Аксиоме» иметь актуальную документацию и быть понятной новым разработчикам.

 В настоящее время не существует конкурента «Аксиоме» на её поле и, что особенно важно, в плане структуры и организации проекта. «Аксиома» предлагает основу для математических изысканий любой сложности и новизны. Она предоставляет язык для компьютерного описания математических объектов и их отношений.

Хотя «Аксиома» уже сейчас представляет собой мощную систему,перспектива использования её для создания новых разделов математикипоистине завораживает. В последние годы «Аксиома» была использованадля успешного решения задач теоретической математики, математическойфизики, комбинаторики, обработки сигналов и параллельных вычислений.С её помощью были получены новые диофантовы приближения для числа 𝜋;подтверждена гипотеза Гротендика для некоторых классов линейных дифференциальныхуравнений; были изучены арифметические свойства униформизациигиперэллиптических кривых; были построены новые алгоритмыфакторизации чисел на основе теории групп; с помощью «Аксиомы»были получены некоторые результаты в квантовой теории поля.

 Появление«Аксиомы» в научном мире вывело символьные вычисления на новыйуровень, на котором учёные могут формулировать свои мысли и решатьзадачи с помощью компьютера.

2 Начало работы

2.1 Ввод и вывод

Интерактивная среда «Аксиомы» запускается в терминале командой axiom.

Чтобы выйти из «Аксиомы», надо набрать команду quit(со скобочкой) и нажать клавишу Enter. Всё это написано в приветствии,выводимом программой при запуске (пример 1).

В интерактивном режиме команды вводятся в одну строку, нажатие клавиши Enter приводит к выполнению команды и выводу результата. Несколько команд можно ввести в одной строке, разделяя их символом «точка с запятой» (;), при этом выводится только результат последней. Длинную строку можно разбить на несколько, заканчивая каждую символом подчёркивания(_) и нажимая Enter.

Для ссылки на предыдущие результаты вычислений используютсясимволы: % — самый последний; %% n — результат номер n, который лучшезаключать в скобки; %%(-n) — результат номер n с конца, так что %%(-1)≡%

(пример 2).

«Аксиома» по умолчанию выводит результаты в виде, похожем на «человеческую» запись. Можно попросить её заодно выводить результатыв формате TEX, в формате языка Фортран, MathML и др. (пример 3).

Можно запустить интерактивную сессию в программе TEXMACS. Проще всего это сделать с оригинальной «Аксиомой», и хотя TEXMACS —достаточно тяжёлая, требовательная к ресурсам программа, результат прекрасен.

3 Простые примеры

3.1 Арифметика

«Аксиома» способна работать с вещественными числами очень большой точности (пример 6).

 Однако следует понимать, что такие числа при любой точности всё же приближённы. Если нужен числовой результат, следует до самого конца проводить символьные вычисления и лишь затем превращать результат в вещественное число. Точность задаётся функцией digits (изначально — 20). Для представлениерезультата в числовой (десятичной) форме используется функция numeric, для перевода в любую другую систему исчисления — radix. Возведение в степень обозначается символом ** либо ^.2)

 

В «Аксиоме» легко реализуется модульная арифметика (пример 7).

 

Например, расчёт времени дня (часы) использует арифметику по модулю 12 или 24. Так что 22+3 = 1. Арифметика по модулю 360 используется дляотсчёта углов.

3.2 Переменные, макросы и функции

3.2.1 Переменные и макросы

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

𝒟 =√𝑏2 − 4𝑎𝑐. То же самое можно делать и в «Аксиоме» с помощью символа «:=» вот так — d:=sqrt(b**2-4*a*c). Теперь везде, где появится переменная d, вместо неё будет подставлено выражение sqrt(b**2-4*a*c).

Ещё пример int:=integrate — и можно писать интегралы короче.

Использование переменных имеет и «обратную силу», например, можно менять элементы матрицы, обращаясь к ней по имени переменной. Более общий случай подстановок реализуется с помощью макросов — подстановок с параметрами, но они уже обратной силы не имеют, так как означают буквальную подстановку (пример 8).

3.2.2 Функции     

Функции принципиально отличаются от макросов и являются одним из основных понятий «Аксиомы» и т. н. функциональных языков программирования.

1) Функция — это последовательность действий (операций).

Функция задаётся конструкцией:

имя (аргументы) == тело функции.

Результат функции — результат последней операции в её теле.

Функции могут иметь одинаковые имена, а смысл функции (последовательность операций) определяется типом и количеством переданных ей параметров. Например, и для решения алгебраических уравнений, и для решения дифференциальных уравнений, и для решения их систем используется функция solve (см. далее).

Чтобы узнать, для каких типов объектов применима та или иная функция, служит команда )displayoperations<имя функции>. Чтобыузнать, какие функции применимы к тому или иному типу объектов, служиткоманда )show<тип>. Эта команда также показыват сокращённые названиятипов, например, INT для Integer, POLY для Polynomial.

Тип объекта можно уточнить либо при его объявлении (через одно двоеточие), либо при использовании (через два двоеточия). Если тип не указан,подразумевается самый простой, очевидный вариант (пример 9).

Характерной особенностью использования функций являются «ленивость вычислений», суть которой в том, что действия (операции) не производятсядо тех пор, пока не понадобится их результат. Это позволяет, например,оперировать бесконечными последовательностями, рядами, делить на нуль и т. п.

Функция p(n) принимает в качестве аргумента символ n, а как результат возвращает выражение. При этом она выполняет некоторые действия (операции)над символом n, и если для какого-то типа n (например, матрицы) эти операции не определены, «Аксиома» сообщит об ошибке. Кроме этого,если был указан тип функции, попытка использовать её не по назначению будет отвергнута. Чтобы превратить какое-либо выражение (например, результатдлинных вычислений) в новую функцию, надо использовать функцию function (пример 11).

3.2.3 Операторы

Операции (действия) с математическими объектами также являются математическими объектами. Абстракные операции (которые «что-то» делают) создаются функцией operator с аргументом, означающим имя оператора, которое будет использоваться для обозначения этого оператора (пример13)

Наиболее частое использование операторов — дифференциальные уравнения. Имя оператораникак не связано с именами переменных, и чтобы не водить «Аксиому» в заблуждение, часто имя оператора «экранируют» с помощью символа ’(апостр´оф); можно просто заключать его в кавычки, если так привычнее.

3.3 Производные

Производные выводятся с помощью функции differentiate. Для краткости можно использовать лишь букву D (заглавную).

3.4 Последовательности
Последовательности, в том числе бесконечные, создаются конструк­цией

 [f(n) for n in a] . Для применения некоторой функции ко всем чле­нам последовательности используется функция map. В примере 15 показано табулирование функции на заданном отрезке с заданным шагом. Для свёртки конечной последовательности с помощью некоторой операции (сложение, умножение, разность, минимум, максимум) используется функция reduce, суммы задаются функцией sum (пример 16)

 

 

 

3.5 Матрицы

Матрицы создаются функцией matrix, диагональные матрицы мож­но создать проще — функцией diagonalMatrix. Ранг матрицы вычисляется функцией rank, определитель — determinant, обратная матрица — inverse
(или возвести в степень 1), транспонированная — transpose, след матри­цы — trace. Доступ к элементам матрицы — матрица (строка, столбец) .
Разумеется, матрицы можно складывать, умножать друг на друга и на ска­ляр, возводить в целую степень. Все возможные операции над матрицами
покажет команда
)show Matrix. Следует помнить, что «Аксиома» работает
по вполне определённым правилам и лишена творческого начала, поэтому
функция
rank не замечает, что sin х/ tg х = cosх (пример 18).

3.6 Векторы


      Векторы создаются функцией vector. Вектор имеет фиксированное число элементов (в отличие от списка или массива) любого, но только одного типа. Если для элементов массива определены операции сложения, вычитания, умножения на скаляр, то они определены и для вектора. Число элементов вектора можно узнать, добавив к нему символ #. Доступ к эле­ментам вектора — вектор (номер). Векторы можно умножать на матрицы. Скалярное произведение векторов — dot, векторное — cross. Полный спи­сок операций с векторами, как обычно, можно узнать по команде )showVector (пример 19).

3.10 Интегралы
          Неопределённые и определённые интегралы берутся с помощью функции integrate.


          Неопределённые интегралы (первообразные)


          Интегралы от элементарных функций часто не выражаются через элементарные же функции. В таких случаях «Аксио­ма» выводит формальный интеграл, но только лишь если может доказать его «неэлементарность»; иначе она сообщает об ошибке.

Если вид ответа зависит от знаков выражений, входящих в исходное
выражение, например, интеграл ниже,
то функция integrate покажет все возможные варианты (пример 26). Функция complexIntegrate этим не заморачивается, считая все переменные и функции комплексными.



Определённые интегралы


    «Аксиома » проверяет, определена ли функция на указанном интерва­ле. Если это не так, она выводит сообщение об ошибке. Для несобственных
интегралов (в том числе и для «потенциально» несобственных в силу на­
личия параметров) «Аксиома» пишет слово
potentialPole и отказывается
вычислять интеграл, если её не успокоить
, (пример 27).

 Заключение

 

Результат, полученный с помощью систем компьютерной алгебры с закрытым кодом, не может считаться частью математического доказательства, так как сам код проверить невозможно.
«Аксиома» — система компьютерной алгебры
с открытым исходным кодом.

 

Просмотрено: 0%
Просмотрено: 0%
Скачать материал
Скачать материал "Реферат на тему "Система Axiom и ее возможности для символьных вычислений""

Методические разработки к Вашему уроку:

Получите новую специальность за 3 месяца

Животновод

Получите профессию

Менеджер по туризму

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Краткое описание документа:

1.1 Что такое «Аксиома»«Аксиома» (Axiom) — свободная универсальная система компью терной алгебры. Она состоит из среды интерпретатора, компилятора и биб лиотеки, описывающей строгую, математически правильную иерархию ти пов.Разработка «Аксиомы» ведётся с 1971 года. В то время она назы валась«Черновик»(Scratchpad) и была большим проектом универсальной системы компьютерной алгебры, созданным в «Межделмаше» (IBM) под руководством Ричарда Дженкса (RichardJenks). На протяжении 20 лет про ект «Аксиома», руководимый Барри Тагером (BarryTager), был инструмен том серьёзных исследований в вычислительной математике. В 1990-е, когда удача отвернулась от IBM, проект был продан компании «Числовые алгоритмы» (NumericalAlgorithmsGroup) и, став ком мерческим продуктом, получил своё нынешнее имя. По разным причинам«Аксиома» продавалась не очень хорошо и в октябре 2001 года покинуларынок программного обеспечения. В сентябре 2002 года «Аксиома» была выпущена под свободной лицензией БСД,2) а 27-го августа 2003 года сталадоступна для загрузки с сайта Фонда свободного программного обеспече ния — «Саванна» В 2007 году на основе «Аксиомы» были созданы ещё два проекта: «Фрикас» и «Открытая Аксиома». В настоящее время «Аксиома» доступна и может быть использована на многих системахтипа Юникс, в том числе Линукс, а также Виндоус.Одной из причин коммерческого провала «Аксиомы» можно считать(а можно и не считать) саму её суть: она многое делает не так, как большинство программ. В основе «Аксиомы» лежит строгая математика, и это — еёприоритет над красивой внешностью или удобством использования. Однакоудобство использования — понятие субъективное, и для подготовленногоспециалиста «Аксиома» — настоящий подарок и удовольствие.«Аксиома» не только интерактивная программа с построчным вводом,она также — компилятор полноценного языка, с помощью которогоможно строить и исследовать математические конструкции. Фактически,такие построения составляют суть развития «Аксиомы» как программы.Неполный список включает: понятия группы и кольца, арифметику произвольнойточности, комплексные и гиперкомплексные числа, матрицы, ряды, пределы, производные, интегралы, дифуры, а также их комбинации вроде матриц, рядов из матриц и многое другое.Решающая сила «Аксиомы» кроется в её великолепной структуре,которая позволяет наращивать новые возможности, не увеличивая общую сложность системы (программа «не умрёт под собственной тяжестью», чем страдают многие, не только научные, коммерческие монстры). Дизайн «Аксиомы» позволяет интегрировать её с другими инструментами типа численных библиотек на Фортране или Си. «Аксиома» — литературная программа, технология литературного программирования Дональда Кнута используется по всему исходному коду, что позволяет «Аксиоме» иметь актуальную документацию и быть понятной новым разработчикам. В настоящее время не существует конкурента «Аксиоме» на её поле и, что особенно важно, в плане структуры и организации проекта. «Аксиома» предлагает основу для математических изысканий любой сложности и новизны. Она предоставляет язык для компьютерного описания математических объектов и их отношений.Хотя «Аксиома» уже сейчас представляет собой мощную систему,перспектива использования её для создания новых разделов математикипоистине завораживает. В последние годы «Аксиома» была использованадля успешного решения задач теоретической математики, математическойфизики, комбинаторики, обработки сигналов и параллельных вычислений.С её помощью были получены новые диофантовы приближения для числа

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 662 863 материала в базе

Скачать материал

Другие материалы

Вам будут интересны эти курсы:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 08.11.2020 535
    • DOCX 954 кбайт
    • Оцените материал:
  • Настоящий материал опубликован пользователем Ленкевич Яна Геннадьевна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    Ленкевич Яна Геннадьевна
    Ленкевич Яна Геннадьевна
    • На сайте: 3 года и 4 месяца
    • Подписчики: 0
    • Всего просмотров: 71858
    • Всего материалов: 227

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой

Курс профессиональной переподготовки

Экскурсовод

Экскурсовод (гид)

500/1000 ч.

Подать заявку О курсе

Курс повышения квалификации

Организация преподавания информационных систем и технологий в профессиональном образовании

36 ч. — 180 ч.

от 1700 руб. от 850 руб.
Подать заявку О курсе
  • Этот курс уже прошли 75 человек

Курс повышения квалификации

Компьютерная грамотность для пенсионеров

36 ч. — 180 ч.

от 1580 руб. от 940 руб.
Подать заявку О курсе
  • Этот курс уже прошли 22 человека

Курс повышения квалификации

Использование нейросетей в учебной и научной работе: ChatGPT, DALL-E 2, Midjourney

36/72 ч.

от 1700 руб. от 850 руб.
Подать заявку О курсе
  • Сейчас обучается 618 человек из 77 регионов
  • Этот курс уже прошли 956 человек

Мини-курс

Техники визуализации в учебном процессе

3 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 34 человека из 17 регионов
  • Этот курс уже прошли 19 человек

Мини-курс

Продвижение экспертной деятельности: от личного сайта до личного помощника

6 ч.

780 руб. 390 руб.
Подать заявку О курсе

Мини-курс

Прощение и трансформация: освобождение от родовых программ и травм

3 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 176 человек из 56 регионов
  • Этот курс уже прошли 45 человек