Главная / Информатика / Доклад по информатике на тему "Система Axiom и ее возможности

Доклад по информатике на тему "Система Axiom и ее возможности

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

СКА – система компьютерной математики



Лицензия BSD (англ. BSD license, Berkley Software Distribution license — Программная лицензия университета Беркли) — это лицензионноесоглашение, впервые применённое для распространения UNIX-подобных операционных систем BSD.

Существуют две основные версии лицензии BSD, которые необходимо различать: «оригинальная» и так называемая «модифицированная» (вторую в англоязычной литературе часто называют New BSD License).

Эти лицензии были подвергнуты ряду изменений, породив множество лицензий, обобщённо именуемых «лицензии типа BSD». «В настоящее время лицензии типа BSD являются одними из самых популярных лицензий для свободного программного обеспечения и используются для многих программ (помимо BSD-версий UNIX, для которых лицензия BSD была изначально создана).»[2]

Права на исходный дистрибутив BSD официально принадлежат «попечителям университета Калифорнии» (англ. Regents of the University of California) — управляющему органу университета Калифорнии. Причина этого заключается в том, что BSD был разработан в кампусе Берклиуниверситета Калифорнии. Это указание изначальных прав сохранилось в современных версиях BSD (NetBSD, FreeBSD, OpenBSD, DragonFly BSD).

По сравнению с другими распространёнными лицензиями на свободное программное обеспечение (например, GNU General Public License) лицензия BSD налагает меньше ограничений на пользователя. Поэтому в некотором смысле использование этой лицензии ближе к помещению программы в категорию общественного достояния



История

Разработка системы была начата в 1971 году группой исследователей IBM под руководством Ричарда Дженкса (англ. Richard Dimick Jenks)[1]. Изначально система называлась Scratchpad. Проект развивался медленно и в основном рассматривался как исследовательская платформа для разработки новых идей в вычислительной математике.

В 90-х система была продана компании Numerical Algorithms Group (NAG), получила название Axiom и стала коммерческим продуктом. Но по ряду причин система не получила коммерческого успеха и была отозвана с рынка в октябре 2001.

NAG решила сделать Axiom свободным программным обеспечением и открыла исходные коды под модифицированной лицензией BSD.

В 2007 у Axiom появились два форка с открытым исходным кодом: OpenAxiom и FriCAS.

Разработка системы продолжается, новые версии выходят каждые два месяца









Особенности

В Axiom все объекты имеют тип. Примерами типов являются математические структуры (такие как кольца, поля, многочлены), а также структуры данных из вычислительной техники (например, списки, деревья, хеш-таблицы).

Язык расширений Axiom называется SPAD. Вся математическая база Axiom написана на этом языке. Интерпретатор принимает почти такой же язык.

SPAD в дальнейшем разрабатывался под именем A# и позже Aldor. Последний, кроме того, может быть использован как альтернативный язык расширений. Однако, следует учесть, что он распространяется под другой лицензией.



Axiom


Axiom (http://www.axiom-developer.org) - это свободная система компьютерной алгебры общего назначения, которая появилась в далеком 1971 году в исследовательских лабораториях IBM. В 2001 году программа стала распространятся свободно по лицензии, сходной с BSD License. Axiom претендует на звание универсальной системы математического программирования, в которой естественные математические понятия, такие как полиномы и дроби, являются строго определенными типами данных. 

В Axiom входит полноценный компилятор для специфического внутреннего языка SPAD. Интерпретатор, с которым имеет дело конечный пользователь, работает с синтаксисом, схожим с этим языком. Axiom функционирует в любых UNIX-подобных системах и присутствует в репозиториях всех основных дистрибутивов GNU/Linux, но его жесткая зависимость от X-сервера затрудняет перенос на другие системы (в частности, в Windows программу можно запустить, но приходится использовать специальный X-сервер для Windows).

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

В результате в 2007 году от Axiom откололись два самостоятельных проекта:
- OpenAxiom (http://www.open-axiom.org); 
- FriCAS (http://fricas.sourceforge.net).

С точки зрения пользователя отличий между этими проектами на сегодняшний день практически нет. Особой активности в дочерних проектах не заметно, поэтому будущее Axiom на фоне бурного развития более молодых CAS выглядит достаточно туманно. Графического интерфейса у Axiom нет. Имеется команднострочный интерпретатор, система отображения документации HyperDoc и система отображения графиков. Две последние базируются непосредственно на Х-сервере и выглядят крайне архаично, но ресурсов потребляют очень мало, так что могут работать буквально где угодно. Кроме этого, Axiom можно использовать в научном редакторе TeXmacs и как аналитическое ядро в Sage.





Базовый синтаксис Axiom очень схож с синтаксисом Maxima:

(1) -> expand((x+y)^6)
(1) y
6 + 6x y5 + 15x2 y4 + 20x3 y3 + 15x4 y3 + 6x5 y + x6
Type: Polynomial Integer
(2) -> factor(%)
(2) (y + x) 
6
Type: Factored Polynomial Integer


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

(1) -> D(cos(x),x)
(1) - sin(x)
Type: Expression Integer
(2) -> integrate(%,x) (2) cos(x)
Type: Union(Expression Integer,...)


Переменные
вводятся оператором «:=»:

(1) -> a:=cos(x^2)
(1) cos(x
2)
Type: Expression Integer
(2) -> D(a,x) (2) - 2x sin(x
2)
Type: Expression Integer


Как и в других CAS, в Axiom не отслеживаются зависимости между выражениями, однако отсутствие интерфейса документа делает эту проблему гораздо более неприятной. Если меняется значение переменной, то приходится заново интерпретировать все выражения, куда она входит. Чтобы организовать подобие работы с целостными документами, в Axiom проще всего записывать последовательность выражений в текстовый файл и затем интерпретировать его целиком.

За построение двумерных и трехмерных графиков в Axiom ответственна единая команда draw. Если передается функция одной переменной, то строится двумерный график:

(1) -> draw(cos(x),x=-3..3)


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

Открытая символьная математика: менее известные свободные CAS
Двумерный график функции одной переменной


В случае, когда строится график функции двух переменных, например:

(1) -> draw(log(cos(y)/cos(x)),x=-1.5..1.5,y=-1.5..1.5)


открывается соответствующая контрольная панель трехмерного графика с дополнительным опциями отображения заливки и скрытых поверхностей, а также с возможностью свободного вращения (см. рис. ниже).

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


Качество графики в Axiom - невысокое: нет сглаживания линий и шрифтов, отсутствует гладкая градиентная заливка поверхностей.

При использовании Axiom в Ubuntu (и, видимо, во всех других производных Debian) необходимо запускать интерпретатор с явным указанием архитектуры:

setarch i386 -R axiom


иначе он не находит необходимых библиотек.

В целом Axiom демонстрирует, как выглядели CAS два десятилетия назад. При наличии прекрасной математической функциональности архаичный интерфейс делает эту программу не очень привлекательной. Однако нетребовательность к ресурсам позволяет использовать Axiom даже на самой устаревшей машине.





1-2-Вычисление 3j-символов и коэффициентов Клебша-Гордана.

3-6 Общая теория относительности

«Аксиома» выводит символы Кристоффеля и тензоры Римана и Риччи в решении Шварцшильда.

















Доклад по информатике на тему "Система Axiom и ее возможности
  • Информатика
Описание:

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

СКА – система компьютерной математики

 

Лицензия BSD (англ. BSD license, Berkley Software Distribution license — Программная лицензия университета Беркли) — это лицензионноесоглашение, впервые применённое для распространения UNIX-подобных операционных систем BSD.

Существуют две основные версии лицензии BSD, которые необходимо различать: «оригинальная» и так называемая «модифицированная» (вторую в англоязычной литературе часто называют New BSD License).

Эти лицензии были подвергнуты ряду изменений, породив множество лицензий, обобщённо именуемых «лицензии типа BSD». «В настоящее время лицензии типа BSD являются одними из самых популярных лицензий для свободного программного обеспечения и используются для многих программ (помимо BSD-версий UNIX, для которых лицензия BSD была изначально создана).»[2]

Права на исходный дистрибутив BSD официально принадлежат «попечителям университета Калифорнии» (англ. Regents of the University of California) — управляющемуоргану университетаКалифорнии. Причина этого заключается в том, что BSD был разработан в кампусе Берклиуниверситета Калифорнии. Это указание изначальных прав сохранилось в современных версиях BSD (NetBSD, FreeBSD, OpenBSD, DragonFly BSD).

По сравнению с другими распространёнными лицензиями на свободное программное обеспечение (например, GNU General Public License) лицензия BSD налагает меньше ограничений на пользователя. Поэтому в некотором смысле использование этой лицензии ближе к помещению программы в категорию общественного достояния

 

История

Разработка системы была начата в 1971 году группой исследователей IBM под руководством Ричарда Дженкса (англ. Richard Dimick Jenks)[1]. Изначально система называлась Scratchpad. Проект развивался медленно и в основном рассматривался как исследовательская платформа для разработки новых идей в вычислительной математике.

В 90-х система была продана компании Numerical Algorithms Group (NAG), получила название Axiom и стала коммерческим продуктом. Но по ряду причин система не получила коммерческого успеха и была отозвана с рынка в октябре 2001.

NAG решила сделать Axiom свободным программным обеспечением и открыла исходные коды под модифицированной лицензией BSD.

В 2007 у Axiom появились два форка с открытым исходным кодом: OpenAxiom и FriCAS.

Разработка системы продолжается, новые версии выходят каждые два месяца

 

 

 

 

Особенности

В Axiom все объекты имеют тип. Примерами типов являются математические структуры (такие как кольца, поля, многочлены), а также структуры данных из вычислительной техники (например, списки, деревья, хеш-таблицы).

Язык расширений Axiom называется SPAD. Вся математическая база Axiom написана на этом языке. Интерпретатор принимает почти такой же язык.

SPAD в дальнейшем разрабатывался под именем A# и позже Aldor. Последний, кроме того, может быть использован как альтернативный язык расширений. Однако, следует учесть, что он распространяется под другой лицензией.

 

Axiom


Axiom (http://www.axiom-developer.org) - это свободная система компьютерной алгебры общего назначения, которая появилась в далеком 1971 году в исследовательских лабораториях IBM. В 2001 году программа стала распространятся свободно по лицензии, сходной с BSD License. Axiom претендует на звание универсальной системы математического программирования, в которой естественные математические понятия, такие как полиномы и дроби, являются строго определенными типами данных. 

В Axiom входит полноценный компилятор для специфического внутреннего языка SPAD. Интерпретатор, с которым имеет дело конечный пользователь, работает с синтаксисом, схожим с этим языком. Axiom функционирует в любых UNIX-подобных системах и присутствует в репозиториях всех основных дистрибутивов GNU/Linux, но его жесткая зависимость от X-сервера затрудняет перенос на другие системы (в частности, в Windows программу можно запустить, но приходится использовать специальный X-сервер для Windows).

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

В результате в 2007 году от Axiom откололись два самостоятельных проекта:
- OpenAxiom (http://www.open-axiom.org); 
- FriCAS (http://fricas.sourceforge.net).

С точки зрения пользователя отличий между этими проектами на сегодняшний день практически нет. Особой активности в дочерних проектах не заметно, поэтому будущее Axiom на фоне бурного развития более молодых CAS выглядит достаточно туманно. Графического интерфейса у Axiom нет. Имеется команднострочный интерпретатор, система отображения документации HyperDoc и система отображения графиков. Две последние базируются непосредственно на Х-сервере и выглядят крайне архаично, но ресурсов потребляют очень мало, так что могут работать буквально где угодно. Кроме этого, Axiom можно использовать в научном редакторе TeXmacs и как аналитическое ядро в Sage.

 



Базовый синтаксис Axiom очень схож с синтаксисом Maxima:

(1) -> expand((x+y)^6)
(1) y6 + 6x y5 + 15x2 y4 + 20x3 y3 + 15x4 y3 + 6x5 y + x6
Type: Polynomial Integer
(2) -> factor(%)
(2) (y + x) 6
Type: Factored Polynomial Integer


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

(1) -> D(cos(x),x)
(1) - sin(x)
Type: Expression Integer
(2) -> integrate(%,x) (2) cos(x)
Type: Union(Expression Integer,...)


Переменныевводятсяоператором «:=»:

(1) -> a:=cos(x^2)
(1) cos(x2)
Type: Expression Integer
(2) -> D(a,x) (2) - 2x sin(x2)
Type: Expression Integer


Как и в других CAS, в Axiom не отслеживаются зависимости между выражениями, однако отсутствие интерфейса документа делает эту проблему гораздо более неприятной. Если меняется значение переменной, то приходится заново интерпретировать все выражения, куда она входит. Чтобы организовать подобие работы с целостными документами, в Axiom проще всего записывать последовательность выражений в текстовый файл и затем интерпретировать его целиком.

За построение двумерных и трехмерных графиков в Axiom ответственна единая команда draw. Если передается функция одной переменной, то строится двумерный график:

(1) -> draw(cos(x),x=-3..3)


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


Двумерный график функции одной переменной


В случае, когда строится график функции двух переменных, например:

(1) -> draw(log(cos(y)/cos(x)),x=-1.5..1.5,y=-1.5..1.5)


открывается соответствующая контрольная панель трехмерного графика с дополнительным опциями отображения заливки и скрытых поверхностей, а также с возможностью свободного вращения (см. рис. ниже).


Трехмерный график функции двух переменных.


Качество графики в Axiom - невысокое: нет сглаживания линий и шрифтов, отсутствует гладкая градиентная заливка поверхностей.

При использовании Axiom в Ubuntu (и, видимо, во всех других производных Debian) необходимо запускать интерпретатор с явным указанием архитектуры:

setarch i386 -R axiom


иначе он не находит необходимых библиотек.

В целом Axiom демонстрирует, как выглядели CAS два десятилетия назад. При наличии прекрасной математической функциональности архаичный интерфейс делает эту программу не очень привлекательной. Однако нетребовательность к ресурсам позволяет использовать Axiom даже на самой устаревшей машине.

 

 

1-2-Вычисление 3j-символов и коэффициентов Клебша-Гордана.

3-6 Общая теория относительности

«Аксиома» выводит символы Кристоффеля и тензоры Римана и Риччи в решении Шварцшильда.

 

 

Автор Парфенова Галина Николаевна
Дата добавления 05.01.2015
Раздел Информатика
Подраздел
Просмотров 482
Номер материала 34871
Скачать свидетельство о публикации

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

Введите символы, которые изображены на картинке:

Получить новый код
* Обязательные для заполнения.


Комментарии:

↓ Показать еще коментарии ↓