Axiom

Axiom
Axiom
Тип

система компьютерной алгебры

Разработчик

независимая группа людей

Операционная система

кроссплатформенное программное обеспечение

Лицензия

модифицированная лицензия BSD

Сайт

домашняя страница Axiom

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

Содержание

История

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

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

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

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

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

Философия проекта

Технология литературного программирования Кнута используется по всему исходному коду. Проект Axiom планирует использовать проверенные технологии (такие как Coq и ACL2) для доказательства корректности алгоритмов.

Особенности

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

Функция может получить тип в качестве аргумента, и её возвращаемое значение также может быть типом. Например, Fraction — функция, получающая IntegralDomain в качестве аргумента, и возвращающая поле отношений своего аргумента. В качестве другого примера кольцо 4\times 4 матриц действительных чисел может быть построено как SquareMatrix(4, Fraction Integer). Конечно, если работать в этом домене, 1 интерпретируется как единичная матрица и A^-1 позволяет получить обратную матрицу A, если она существует.

Некоторые операции могут иметь одинаковые имена, и тогда типы аргументов и результата используются для определения того, какая операция применяется, подобно тому, как в ООП.

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

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

Примеры

3j-символы

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

j3Sum (j1, j2, j3, m1, m2, m3) ==
  maxz := reduce (min, [j1+j2-j3, j1-m1, j2+m2])
  minz := max(0, max ( -(j3-j2+m1), -(j3-j1-m2) ))
  minz > maxz => 0
  maxz < 0    => 0
  sum ( (-1)^(z+j1-j2-m3) / _
    ( factorial(z) * factorial(j1+j2-j3-z) * factorial(j1-m1-z) * _
      factorial(j2+m2-z) * factorial(j3-j2+m1+z) * factorial(j3-j1-m2+z) ), _
    z=minz..maxz)
 
j3 (j1, j2, j3, m1, m2, m3) ==
  m1 + m2 + m3 ~= 0  => 0
  abs(j1 - j2) > j3  => 0
  j1 + j2 < j3       => 0
  abs(m1) > j1       => 0
  abs(m2) > j2       => 0
  abs(m3) > j3       => 0
  not integer? (j1+j2+j3) => 0
  sqrt ( _
    factorial(j1+j2-j3) * factorial(j1-j2+j3) * factorial(-j1+j2+j3) / _
                          factorial(j1+j2+j3+1) * _
        factorial(j1+m1) * factorial(j1-m1) * _
        factorial(j2+m2) * factorial(j2-m2) * _
        factorial(j3+m3) * factorial(j3-m3)
    ) * j3Sum (j1, j2, j3, m1, m2, m3)       
 
clebschGordan (j1, j2, j, m1, m2, m) ==
    (-1)^(j1-j2+m) * sqrt(2*j+1) * j3(j1, j2, j, m1, m2, -m)

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

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

x   := vector ['t, 'r, '%theta, '%phi];
dim := #x;
 
%nu     := operator '%nu;
%lambda := operator '%lambda;
lg := matrix [
    [exp(%nu r),       0,         0,    0], _
    [       0,  - exp(%lambda r), 0,    0], _
    [       0,      0,          -r^2,   0], _
    [       0,      0,            0,  -r^2*sin(%theta)^2]  _
    ];
 
ug := inverse lg;
 
grSetup(metric, names) ==
    free x
    free dim
    free lg
    free ug
    x   := names
    dim := #x
 
 

Галерея

Документация

Axiom — литературная программа. Исходный код доступен в наборе томов на сайте: axiom-developer.org. Эти тома содержат актуальный исходный код системы.

На данный момент доступны следующие документы:

  • Общее оглавление
  • Volume 0: Axiom Jenks and Sutor — Основной учебник
  • Volume 1: Axiom Tutorial — Простое введение
  • Volume 2: Axiom Users Guide — Подробные примеры использования доменов (незавершённый)
  • Volume 3: Axiom Programers Guide — Руководство в примерах для написания программ (незавершённый)
  • Volume 4: Axiom Developers Guide — Короткие наброски на темы, специфичные для разработчиков (незавершённый)
  • Volume 5: Axiom Intepreter — Исходый код интерпретатора Axiom (незавершённый)
  • Volume 6: Axiom Command — Исходый код системных команд и скриптов (незавершённый)
  • Volume 7: Axiom Hyperdoc — Исходный код и разъяснения браузера справки X11 Hyperdoc
  • Volume 8: Axiom Graphics — Исходый код подсистемы X11 Graphics
  • Volume 9: Axiom Compiler — Исходый код компилятора Spad (незавершённый)
  • Volume 10: Axiom Algebra Implementation — Наброски особенностей реализации (незавершённый)
  • Volume 11: Axiom Browser — Исходные страницы внешнего интерфейса Axiom для браузера Firefox
  • Volume 12: Axiom Crystal — Исходный код внешнего интерфейса Axiom Crystal (незавершённый)

Видео

Важной целью проекта Axiom является предоставление документации. В ноябре 2008 года проект анонсировал первое из серии обучающих видео, которые также доступны на сайте: axiom-developer.org. Первое видео рассказывает о источниках информации о Axiom.[3]

Примечания

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Полезное


Смотреть что такое "Axiom" в других словарях:

  • Axiom — Fichier:Axiom sur les Champs Elysées.jpg Axiom sur les Champs Elysées à Paris Nom Hicham Kochman Naissance 19 janvier 1975 (1975 01 19) (36 ans) Lil …   Wikipédia en Français

  • Axiom — Saltar a navegación, búsqueda Axiom es un programa de álgebra computacional (CAS) muy útil para la investigación y el desarrollo de los algoritmos matemáticos, para los cuales define una sintaxis rigurosa, con niveles de jerarquías matemáticas… …   Wikipedia Español

  • Axiom S5 — is the distinctive axiom of the S5 modal logic and states that if necessarily possibly p , then possibly p . It also states, perhaps less intuitively and more controversially, that if possibly necessarily p , then necessarily p . The use of S5 is …   Wikipedia

  • Axiom — Ax i*om, n. [L. axioma, Gr. ? that which is thought worthy, that which is assumed, a basis of demonstration, a principle, fr. ? to think worthy, fr. ? worthy, weighing as much as; cf. ? to lead, drive, also to weigh so much: cf F. axiome. See… …   The Collaborative International Dictionary of English

  • Axiom — Sn Grundsatz erw. fach. (16. Jh., Form 18. Jh.) Entlehnung. Entlehnt aus gleichbedeutend l. axiōma, dieses aus gr. axíōma, einer Ableitung von gr. áxios würdig, wert , zunächst in lateinischer Form, dann endungslos. So benannt nach der Auffassung …   Etymologisches Wörterbuch der deutschen sprache

  • axiom — axiom, axiomatic An axiom is an assumption, postulate, universally received principle, or self evident truth. Most sociological theories rest on one or more undemonstrated axioms, for example, that all human action is rational, or as in the case… …   Dictionary of sociology

  • axiom — [ak′sē əm] n. [Fr axiome < L axioma < Gr axiōma, authority, authoritative sentence < axioun, to think worthy < axios, worthy < base of agein, to weigh, orig., to lend: see ACT1] 1. a statement universally accepted as true; maxim 2 …   English World dictionary

  • Axĭom — (v. gr. Axiōma), unmittelbares, eines Beweises weder fähiges, noch bedürftiges Urtheil, Grundsatz (s.d.); daher Axiomăta hypostatĭca, in der Trinitätslehre die Merkmale, wodurch die 3 Personen der Gottheit als geschiedene kennbar werden. Daher… …   Pierer's Universal-Lexikon

  • Axiōm — (griech.), ein Satz von einleuchtender Gewißheit, der eines Beweises weder bedarf, noch fähig ist. Gäbe es nicht wirkliche Axiome, so fehlte allen Beweisen, durch die ja immer nur die Gewißheit eines Satzes auf die eines andern begründet wird,… …   Meyers Großes Konversations-Lexikon

  • Axiom — Axiom, eine Hypothese, auf der eine Wissenschaft aufgebaut wird, also z.B. in der Mechanik ein Satz, der nicht bewiesen werden kann. Alle Beweise in den mathematischen Wissenschaften sind Reduktionsmittel der Erkenntnis, d.h. sie sind Methoden,… …   Lexikon der gesamten Technik


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»