Axiom(컴퓨터 대수 체계)
Axiom (computer algebra system)개발자 | 독립된 집단 |
---|---|
안정적 해제 | |
릴리스 미리 보기 | 소스포지 마스터 / 2022년 2월 6일; 전 |
리포지토리 | https://sourceforge.net/p/axiom/code/ |
기록 위치 | 리스프 |
운영 체제 | 크로스 플랫폼 |
유형 | 컴퓨터 대수 체계 |
면허증 | 수정된 BSD 라이센스 |
웹사이트 | www |
Axiom은 자유로운 범용 컴퓨터 대수학 시스템이다.통역사 환경, 컴파일러, 라이브러리로 구성되어 있으며, 이는 강하게 입력된 계층을 정의한다.
역사
Scratchpad라는 이름의 두 개의 컴퓨터 대수학 시스템은 IBM에 의해 개발되었다.첫 번째 것은 1965년 랄프 고모리(Ralph Gomori)의 요청으로 제임스 그리스머[2](James Grismer)에 의해 시작되었고, 포트란(Fortran)으로 쓰여졌다.[3]이 소프트웨어의 개발은 공개되기 전에 중단되었다.원래 Scratchpad II라고 이름 붙여진 두 번째 Scratchpad는 1977년부터 Richard Dimick Jenks의 지휘 아래 Thomas J. Watson Research Center에서 개발되었다.[4]
그 디자인은 주로 Richard D에 기인한다.젠크스(IBM Research), 제임스 H. 데이븐포트(University of Bath), 배리 M.트래거(IBM Research), 데이비드 Y.Y. 윤(남 감리교 대학), 빅터 S. 밀러(IBM Research) 등이 있다.프로젝트의 초기 컨설턴트는 데이비드 바튼(버클리 캘리포니아 대학교)과 제임스 W였다.대처(IBM Research)구현에는 로버트 수터(IBM Research), 스콧 C가 포함되었다.모리슨(버클리 캘리포니아 대학교), 크리스틴 J. 순다레산(IBM Research), 티모시 댈리(IBM Research), 파트리아지아 지아니(피사 대학), 알브레히트 포르텐바허(University of Pisa), 스티븐 M.Watt (IBM Research and University of Waterloo), Josh Cohen (Yale University), Michael Rothstein (Kent State University), Manuel Bronstein (IBM Research), Michael Monagan (Simon Fraser University), Jonathon Steinbach (IBM Research), William Burge (IBM Research), Jim Wen (IBM Research), William Sit (City College of New York), and Clifton Williamson(IBM Research)[5]
스크래치패드 II는 1990년경 IBM이 그것을 상업용 제품으로 만들기로 결정하면서 Axiom으로 이름이 바뀌었다.몇 년 후, NAG에 팔렸다.2001년에는 시장에서 철수했다가 수정된 BSD 라이선스에 따라 다시 출시되었다.그 이후로 이 프로젝트의 주요 개발자는 팀 댈리였다.
2007년에 Axiom은 두 개의 다른 오픈 소스 프로젝트를 시작하며 두 번 포크를 받았다."프로젝트 목표에 대한 심각한 의견 불일치"[8]에 이은 OpenAxiom과[6] FriCAS.[7]악시오름 프로젝트는 팀 댈리에 의해 계속 개발되었다.
현재의 연구 방향은 "Axiom Sane" 즉 논리적, 이성적, 분별력, 건전성이다.
문서화
Axiom은 문학적인 프로그램이다.[9]소스 코드는 에서 사용할 수 있는 볼륨 집합에서 사용 가능해지고 있다.axiom-developer.org
웹사이트이 볼륨에는 시스템의 실제 소스 코드가 포함되어 있다.
현재 사용 가능한 문서는 다음과 같다.
- 결합 목차
- 제0권: Axiom Jenks and Sutor -본교재
- 제1권: Axiom 자습서—간단한 소개
- 제2권: Axiom 사용자 안내서—도메인 사용의 자세한 예(불완전)
- 제3권: Axiom Programmers Guide - 프로그램 작성의 예(불완전)
- 제4권: Axiom Developers Guide—개발자별 주제에 대한 짧은 에세이(불완전)
- 제5권: Axiom 인터프리터 - Axiom 인터프리터의 소스 코드(불완전)
- 제6권: Axiom 명령—시스템 명령 및 스크립트에 대한 소스 코드(불완전)
- 제7권: Axiom Hyperdoc - X11 Hyperdoc 도움말 브라우저의 소스 코드 및 설명
- Volume 7.1 Axiom Hyperdoc 페이지—Hyperdoc 페이지의 소스 코드
- 제8권: Axiom Graphics - X11 Graphics 하위 시스템용 소스 코드
- Volume 8.1 Axiom Gallery—A Gallery of Axiom images
- 제9권: Axiom Compiler—Spad Compiler용 소스 코드(불완전)
- 제10권: Axiom 대수 구현—실행 문제에 대한 평가(불완전)
- 제10.1권: Axiom 대수 이론—배경 이론을 포함하는 이론
- 제10.2권: Axiom 대수 범주—Axiom 범주의 소스 코드
- 제10.3권: Axiom 대수 도메인—Axiom 도메인의 소스 코드
- 제10.4권: Axiom 대수 패키지—Axiom 패키지의 소스 코드
- 제10.5권: Axiom 대수 숫자—Axiom 숫자에 대한 소스 코드
- 제11권: Axiom Browser -Axiom Firefox 브라우저 프런트 엔드의 원본 페이지
- 제12권: Axiom Crystal—Axiom Crystal 프런트 엔드의 소스 코드(불완전)
- 제13권: Axiom Correct 확인—Prove Axiom 대수(불완전)
- 제15권:Axiom SANE 컴파일러
- 서지학: Axiom 서지학—문학 참고 문헌
- 버그 목록:Axiom Bug 목록-Bug 목록
- 참조 카드: Axiom 참조 카드—유용한 기능 요약
비디오
Axiom 프로젝트는 문서 제공에 주안점을 두고 있다.최근 이 프로젝트는 교육용 비디오 시리즈 중 첫 번째를 발표했는데, 이 비디오는 또한 이 비디오에서 볼 수 있다.axiom-developer.org
[10] 웹 사이트.첫 번째 비디오는[11] Axiom 정보 출처에 대한 세부 정보를 제공한다.[11]
철학
Axiom 프로젝트는 "30년 지평선"에 초점을 맞추고 있다.일차 철학은 악시오가 다음 세대의 계산 수학자들에게 유용하게 쓰이기 위해서는 몇 가지 근본적인 특징들을 개발할 필요가 있다는 것이다.크누스의 문맹 프로그래밍 기법은 소스 코드 전반에 걸쳐 사용된다.Axiom은 (Coq와 ACL2와 같은) 알고리즘의 정확성을 증명하기 위해 증명 기술을 사용할 계획이다.
Axiom은 연속 릴리스 프로세스의 일부로 Docker Containers를 사용한다.도커 및 다음 명령을 사용하여 모든 플랫폼에서 최신 이미지를 사용할 수 있음:
도커 풀 딜리/멀티엄 도커 실행 -i -t 딜리/멀티엄 공리
디자인,
Axiom에서 각 개체에는 유형이 있다.유형의 예로는 컴퓨터 과학(예: 목록, 트리, 해시 테이블)의 데이터 구조뿐만 아니라 수학적 구조(고리, 필드, 다항식 등)도 있다.
함수는 유형을 인수로 사용할 수 있으며 반환 값도 유형이 될 수 있다.예를 들어,Fraction
함수가 필요한데IntegralDomain
논쟁으로서, 그리고 그 논쟁의 분수 분야를 반환한다.또 다른 예로서 합리적인 입력을 가진 × } 행렬의 링은 다음과 같이 구성될 것이다.SquareMatrix(4, Fraction Integer)
. 물론 이 도메인에서 일할 때는1
ID 매트릭스로 해석되며A^-1
매트릭스의 역행렬을 나타낼 것이다.A
존재한다면.
여러 연산은 동일한 이름을 가질 수 있으며, 인수와 결과의 유형을 모두 사용하여 어떤 연산이 적용되는지(cf. 함수 과부하)를 결정한다.
Axiom은 SPAD라는 확장 언어를 가지고 있다.Axiom의 모든 수학 지식은 이 언어로 쓰여 있다.통역사는 거의 같은 언어를 받아들인다.
특징들
해석기 환경 내에서 Axiom은 형식 추론과 경험적 알고리즘을 사용하여 명시적 형식 주석을 대부분 불필요하게 만든다.
인터랙티브 브라우저 같은 도움말 시스템인 '하이퍼닥'이 탑재돼 2차원, 3차원 그래픽을 표시할 수 있으며 회전, 조명 등 인터렉티브 기능도 제공한다.또한 Emacs를 위한 전문 인터랙션 모드와 TeXmacs 편집기용 플러그인도 갖추고 있다.
악시오는 마누엘 브론슈타인과 배리 트래거가 수행한 초등통합을 위한 리슈 알고리즘의 구현을 가지고 있다.
참고 항목
참조
- ^ "daly/axiom Tags". Docker Hub. Retrieved 25 March 2022.
- ^ Fitch, John (July 23, 2012). "James Griesmer 1929--2011". ACM Communications in Computer Algebra. 46 (1/2): 10–11. doi:10.1145/2338496.2338499 – via DOI.org (Crossref).
- ^ "Axiom Computer Algebra System". axiom-developer.org.
- ^ "Richard D. Jenks Biographical Information". www.eecis.udel.edu.
- ^ "EUROCAL '85 SpringerLink". www.springer.com.
- ^ "OpenAxiom: The Open Scientific Computation Platform". www.open-axiom.org.
- ^ "FriCAS 18a5ef5d99c796a89efeac06df40043a85b3d44d — FriCAS". fricas.github.io.
- ^ "History — FriCAS". fricas.github.io.
- ^ 왜 글을 쓰는 프로그래밍인가?axiom-developer.org 웹사이트에서
- ^ "Axiom Computer Algebra System". www.axiom-developer.org.
- ^ a b "Axiom Computer Algebra System Information Sources". YouTube. November 30, 2008.
추가 읽기
- James H. Griesmer; Richard D. Jenks (1971). "SCRATCHPAD/1: An interactive facility for symbolic mathematics Proceedings of the second ACM symposium on Symbolic and algebraic manipulation (SYMSAC '71)": 42–58.
{{cite journal}}
:Cite 저널은 필요로 한다.journal=
(도움말) - Richard D. Jenks (1971). META/PLUS - The Syntax Extension Facility for SCRATCHPAD (Research report). IBM Thomas J. Watson Research Center. RC 3259.
- James H. Griesmer; Richard D. Jenks (1972). "Experience with an online symbolic mathematics system Proceedings of the ONLINE72 Conference". 1. Brunel University: 457–476.
{{cite journal}}
:Cite 저널은 필요로 한다.journal=
(도움말) - James H. Griesmer; Richard D. Jenks (1972). "Scratchpad". ACM SIGPLAN Notices. 7 (10): 93–102. doi:10.1145/942576.807019.
- Richard D. Jenks (1974). "The SCRATCHPAD language". ACM SIGSAM Bulletin. 8 (2): 20–30. doi:10.1145/1086830.1086834.
- Arthur C. Norman (1975). "Computing with Formal Power Series". ACM Transactions on Mathematical Software. 1 (4): 346–356. doi:10.1145/355656.355660. ISSN 0098-3500.
- Richard D. Jenks (1976). "A pattern compiler Proceedings of the third ACM symposium on Symbolic and algebraic manipulation (SYMSAC '76)": 60–65.
{{cite journal}}
:Cite 저널은 필요로 한다.journal=
(도움말) - E. Lueken (1977). Ueberlegungen zur Implementierung eines Formelmanipulationssystems (Masters thesis) (in German). Germany: Technischen Universitat Carolo-Wilhelmina zu Braunschweig.
- George E. Andrews (1984). "Ramanujan and SCRATCHPAD Proceedings of the 1984 MACSYMA Users' Conference". Schenectady: General Electric: 383–408.
{{cite journal}}
:Cite 저널은 필요로 한다.journal=
(도움말) - James H. Davenport; P. Gianni; Richard D. Jenks; V. Miller; Scott Morrison; M. Rothstein; C. Sundaresan; Robert S. Sutor; Barry Trager (1984). "Scratchpad". Mathematical Sciences Department, IBM Thomas J. Watson Research Center.
{{cite journal}}
:Cite 저널은 필요로 한다.journal=
(도움말) - Richard D. Jenks (1984). "The New SCRATCHPAD Language and System for Computer Algebra". Proceedings of the 1984 MACSYMA Users' Conference: 409–416.
- Richard D. Jenks (1984). "A primer: 11 keys to New Scratchpad Proceedings of International Symposium on Symbolic and Algebraic Computation '84". Springer: 123–147.
{{cite journal}}
:Cite 저널은 필요로 한다.journal=
(도움말) - Robert S. Sutor (1985). "The Scratchpad II Computer Algebra Language and System Proceedings of International Symposium on Symbolic and Algebraic Computation '85". Springer: 32–33.
{{cite journal}}
:Cite 저널은 필요로 한다.journal=
(도움말) - Rüdiger Gebauer; H. Michael Möller (1986). Buchberger's algorithm and staggered linear bases Proceedings of the fifth ACM symposium on Symbolic and algebraic computation (International Symposium on Symbolic and Algebraic Computation '86). ACM. pp. 218–221. ISBN 978-0-89791-199-3.
- Richard D. Jenks; Robert S. Sutor; Stephen M. Watt (1986). Scratchpad II: an abstract datatype system for mathematical computation (Research report). IBM Thomas J. Watson Research Center. RC 12327.
- Michael Lucks; Bruce W. Char (1986). A fast implementation of polynomial factorization Proceedings of SYMSAC '86. ACM. pp. 228–232. ISBN 978-0-89791-199-3.
- J. Purtilo (1986). Applications of a software interconnection system in mathematical problem solving environments Proceedings of SYMSAC '86. ACM. pp. 16–23. ISBN 978-0-89791-199-3.
- William H. Burge; Stephen M. Watt (1987). Infinite Structure in SCRATCHPAD II (Research report). IBM Thomas J. Watson Research Center. RC 12794.
- Pascale Sénéchaud; Françoise Siebert; Gilles Villard (1987). Scratchpad II: Présentation d'un nouveau langage de calcul formel. TIM (Research report) (in French). IMAG, Grenoble Institute of Technology. 640-M.
- Robert S. Sutor; Richard D. Jenks (1987). "The type inference and coercion facilities in the scratchpad II interpreter". Papers of the Symposium on Interpreters and interpretive techniques - SIGPLAN '87. pp. 56–63. doi:10.1145/29650.29656. ISBN 978-0-89791-235-8.
- George E. Andrews (1988). R. Janssen (ed.). "Application of SCRATCHPAD to problems in special functions and combinatorics Trends in Computer Algebra". Lecture Notes in Computer Science (296). Springer: 159–166.
{{cite journal}}
:Cite 저널은 필요로 한다.journal=
(도움말) - James H. Davenport; Yvon Siret; Evelyne Tournier (1993) [1988]. Computer Algebra: Systems and Algorithms for Algebraic Computation. Academic Press. ISBN 978-0122042300.
- Rüdiger Gebauer; H. Michael Möller (1988). "On an installation of Buchberger's algorithm". Journal of Symbolic Computation. 6 (2–3): 275–286. doi:10.1016/s0747-7171(88)80048-8. ISSN 0747-7171.
- Fritz Schwarz (1988). R. Janssen (ed.). "Programming with abstract data types: the symmetry package (SPDE) in Scratchpad Trends in Computer Algebra". Lecture Notes in Computer Science. Springer: 167–176.
{{cite journal}}
:Cite 저널은 필요로 한다.journal=
(도움말) - David Shannon; Moss Sweedler (1988). "Using Gröbner bases to determine algebra membership, split surjective algebra homomorphisms determine birational equivalence". Journal of Symbolic Computation. 6 (2–3): 267–273. doi:10.1016/s0747-7171(88)80047-6.
- Hans-J. Boehm (1989). "Type inference in the presence of type abstraction". ACM SIGPLAN Notices. 24 (7): 192–206. doi:10.1145/74818.74835.
- Manuel Bronstein (1989). "Simplification of real elementary functions Proceedings of the International Symposium on Symbolic and Algebraic Computation (SIGSAM '89)". ACM: 207–211.
{{cite journal}}
:Cite 저널은 필요로 한다.journal=
(도움말) - Claire Dicrescenzo; Dominique Duval (1989). P. Gianni (ed.). "Algebraic extensions and algebraic closure in Scratchpad II Symbolic and Algebraic Computation". Springer: 440–446.
{{cite journal}}
:Cite 저널은 필요로 한다.journal=
(도움말) - 티모시 댈리 "액시엄 - 30년 리스프"
- Timothy Daly "Axiom" 초청 토크, Free Software Conference, 2002년 5월 프랑스 리옹에서 개최됨
- Timothy Daly "Axiom" 초청 토크, Libre Software Meeting, 2003년 7월 9일부터 12일까지 프랑스 메츠에서 개최
외부 링크
위키미디어 커먼스의 Axiom(컴퓨터 대수 소프트웨어) 관련 매체
- Axiom 홈페이지
- Axiom을 시도하는 온라인 샌드박스
- 소스 코드 저장소:Github, SourceForge, GNU Savannah
- Jenks, R.D.와 Sutor, R. "Axiom, The Scientific Computing System"
- Daly, T. "Axiom Volume 1: 자습서"
소프트웨어 포크: