एक्सिओम (कंप्यूटर बीजगणित प्रणाली)

एक्सिओम एक मुफ्त सॉफ्टवेयर, सामान्य प्रयोजन कंप्यूटर बीजगणित प्रणाली है। इसमें एक दुभाषिया वातावरण, एक कंपाइलर और एक लाइब्रेरी शामिल है, जो दृढ़ता से टाइप किए गए पदानुक्रम को परिभाषित करता है।

इतिहास
IBM द्वारा स्क्रैचपैड नामक दो कंप्यूटर बीजगणित प्रणालियाँ विकसित की गईं। सबसे पहले इसकी शुरुआत 1965 में जेम्स ग्रिस्मर ने की थी राल्फ ई. गोमोरी के अनुरोध पर, और फोरट्रान में लिखा गया। किसी भी सार्वजनिक रिलीज़ से पहले इस सॉफ़्टवेयर का विकास रोक दिया गया था। दूसरा स्क्रैचपैड, जिसे मूल रूप से स्क्रैचपैड II नाम दिया गया था, 1977 में रिचर्ड डिमिक जेनक्स के निर्देशन में थॉमस जे. वॉटसन रिसर्च सेंटर में विकसित किया गया था। यह डिज़ाइन मुख्य रूप से रिचर्ड डी. जेनक्स (आईबीएम रिसर्च), जेम्स एच. डेवनपोर्ट (बाथ विश्वविद्यालय), बैरी एम. ट्रैगर (आईबीएम रिसर्च), डेविड वाई.वाई. के कारण है। युन (दक्षिणी मेथोडिस्ट विश्वविद्यालय) और विक्टर एस. मिलर (आईबीएम रिसर्च)। परियोजना के शुरुआती सलाहकार डेविड बार्टन (कैलिफोर्निया विश्वविद्यालय, बर्कले) और जेम्स डब्ल्यू थैचर (आईबीएम रिसर्च) थे। कार्यान्वयन में रॉबर्ट सुटोर (आईबीएम रिसर्च), स्कॉट सी. मॉरिसन (कैलिफोर्निया विश्वविद्यालय, बर्कले), क्रिस्टीन जे. सुंदरेसन (आईबीएम रिसर्च), टिमोथी डेली (आईबीएम रिसर्च), पेट्रीसिया गियानी (पीसा विश्वविद्यालय), अल्ब्रेक्ट फोर्टेनबैकर (यूनिवर्सिटेट कार्लज़ूए), स्टीफन एम. वाट (आईबीएम रिसर्च और वाटरलू विश्वविद्यालय), जोश कोहेन (येल विश्वविद्यालय), माइकल रोथस्टीन (केंट स्टेट यूनिवर्सिटी), मैनुअल शामिल थे। ब्रोंस्टीन (आईबीएम रिसर्च), माइकल मोनागन (साइमन फ्रेजर यूनिवर्सिटी), जोनाथन स्टीनबैक (आईबीएम रिसर्च), विलियम बर्ज (आईबीएम रिसर्च), जिम वेन (आईबीएम रिसर्च), विलियम सिट (सिटी कॉलेज ऑफ न्यूयॉर्क), और क्लिफ्टन विलियमसन (आईबीएम रिसर्च) जब 1990 के आसपास आईबीएम ने इसे एक व्यावसायिक उत्पाद बनाने का निर्णय लिया तो स्क्रैचपैड II का नाम बदलकर एक्सिओम कर दिया गया। कुछ साल बाद, इसे संख्यात्मक एल्गोरिदम समूह को बेच दिया गया। 2001 में, इसे बाज़ार से वापस ले लिया गया और संशोधित बीएसडी लाइसेंस के तहत पुनः जारी किया गया। तब से, परियोजना के प्रमुख डेवलपर टिम डेली रहे हैं।

2007 में, Axiom दो बार फोर्क (कांटा (सॉफ़्टवेयर विकास)डेवलपमेंट) था, जिसने दो अलग-अलग खुला स्रोत सॉफ्टवेयर | ओपन-सोर्स प्रोजेक्ट्स की शुरुआत की: OpenAxiom और FriCAS, परियोजना लक्ष्यों के बारे में गंभीर असहमति के बाद। एक्सिओम परियोजना का विकास टिम डेली द्वारा जारी रखा गया।

वर्तमान शोध दिशा Proving Axiom Sane है, जो तार्किक, तर्कसंगत, विवेकपूर्ण और ठोस है।

दस्तावेज़ीकरण
Axiom एक साक्षर प्रोग्रामिंग है। स्रोत कोड वॉल्यूम के एक सेट में उपलब्ध हो रहा है जो पर उपलब्ध है  वेबसाइट। इन संस्करणों में सिस्टम का वास्तविक स्रोत कोड होता है।

वर्तमान में उपलब्ध दस्तावेज़ हैं:
 * संयुक्त सामग्री तालिका
 * खंड 0: एक्सिओम जेनक्स और सुटोर—मुख्य पाठ्यपुस्तक
 * खंड 1: Axiom ट्यूटोरियल—एक सरल परिचय
 * खंड 2: Axiom उपयोगकर्ता मार्गदर्शिका—डोमेन उपयोग के विस्तृत उदाहरण (अपूर्ण)
 * खंड 3: Axiom प्रोग्रामर्स गाइड—प्रोग्राम लेखन के निर्देशित उदाहरण (अपूर्ण)
 * खंड 4: Axiom डेवलपर्स गाइड—डेवलपर-विशिष्ट विषयों पर लघु निबंध (अपूर्ण)
 * खंड 5: Axiom दुभाषिया—Axiom दुभाषिया के लिए स्रोत कोड (अपूर्ण)
 * खंड 6: Axiom Command—सिस्टम कमांड और स्क्रिप्ट के लिए स्रोत कोड (अपूर्ण)
 * खंड 7: Axiom हाइपरडॉक—X11 हाइपरडॉक सहायता ब्राउज़र का स्रोत कोड और स्पष्टीकरण
 * खंड 7.1 Axiom हाइपरडॉक पेज—हाइपरडॉक पेजों के लिए स्रोत कोड
 * खंड 8: Axiom ग्राफ़िक्स—X11 ग्राफ़िक्स सबसिस्टम के लिए स्रोत कोड
 * खंड 8.1 Axiom गैलरी—Axiom छवियों की एक गैलरी
 * खंड 9: Axiom Compiler—स्पैड कंपाइलर के लिए स्रोत कोड (अपूर्ण)
 * खंड 10: Axiom Algebra Implementation—कार्यान्वयन मुद्दों पर निबंध (अपूर्ण)
 * खंड 10.1: Axiom Algebra Theory—पृष्ठभूमि सिद्धांत वाले निबंध
 * खंड 10.2: Axiom Algebra Categories—Axiom श्रेणियों के लिए स्रोत कोड
 * खंड 10.3: Axiom Algebra Domains—Axiom डोमेन के लिए स्रोत कोड
 * खंड 10.4: Axiom बीजगणित पैकेज—Axiom पैकेज के लिए स्रोत कोड
 * वॉल्यूम 10.5: Axiom Algebra Numerics—Axiom न्यूमेरिक्स के लिए स्रोत कोड
 * खंड 11: Axiom ब्राउज़र—Axiom फ़ायरफ़ॉक्स ब्राउज़र फ्रंट एंड के लिए स्रोत पृष्ठ
 * खंड 12: Axiom क्रिस्टल - Axiom क्रिस्टल फ्रंट एंड के लिए स्रोत कोड (अपूर्ण)
 * खंड 13: अभिगृहीत को सही सिद्ध करना—अभिगृहीत बीजगणित को सिद्ध करना (अपूर्ण)
 * खंड 15: द एक्सिओम सेन कंपाइलर
 * ग्रंथ सूची: Axiom ग्रंथ सूची—साहित्य संदर्भ
 * बग सूची: Axiom बग सूची-बग सूची
 * संदर्भ कार्ड: Axiom संदर्भ कार्ड—उपयोगी फ़ंक्शन सारांश

वीडियो
एक्सिओम परियोजना का मुख्य ध्यान दस्तावेज़ीकरण उपलब्ध कराने पर है। हाल ही में प्रोजेक्ट ने अनुदेशात्मक वीडियो की शृंखला में पहली घोषणा की, जो पर भी उपलब्ध है वेबसाइट। पहला वीडियो Axiom सूचना स्रोतों पर विवरण प्रदान करता है।

दर्शन
एक्सिओम परियोजना "30 वर्ष के क्षितिज" पर केंद्रित है। प्राथमिक दर्शन यह है कि अगली पीढ़ी के कम्प्यूटेशनल गणितज्ञों के लिए उपयोगी होने के लिए एक्सिओम को कई मूलभूत विशेषताएं विकसित करने की आवश्यकता है। नुथ की साक्षर प्रोग्रामिंग तकनीक का उपयोग पूरे स्रोत कोड में किया जाता है। Axiom एल्गोरिदम (जैसे Coq और ACL2) की शुद्धता साबित करने के लिए प्रूफ तकनीक का उपयोग करने की योजना बना रहा है।

Axiom निरंतर रिलीज़ प्रक्रिया के भाग के रूप में डॉकर (सॉफ़्टवेयर) कंटेनर का उपयोग करता है। नवीनतम छवि डॉकर और कमांड का उपयोग करके किसी भी प्लेटफ़ॉर्म पर उपलब्ध है:

डिज़ाइन
Axiom में, प्रत्येक वस्तु का एक प्रकार होता है। प्रकारों के उदाहरण गणितीय संरचनाएं हैं (जैसे कि रिंग (गणित), फ़ील्ड (गणित), बहुपद) और साथ ही कंप्यूटर विज्ञान से डेटा संरचनाएं (उदाहरण के लिए, सूची (कंप्यूटिंग) एस, ट्री (डेटा संरचना) एस, हैश टेबल)।

एक फ़ंक्शन एक प्रकार को तर्क के रूप में ले सकता है, और इसका रिटर्न मान भी एक प्रकार हो सकता है। उदाहरण के लिए,  एक फ़ंक्शन है, जो एक लेता है   तर्क के रूप में, और अपने तर्क के भिन्नों का क्षेत्र लौटाता है। एक अन्य उदाहरण के रूप में, की अंगूठी $$4\times 4$$ तर्कसंगत प्रविष्टियों वाले मैट्रिक्स का निर्माण इस प्रकार किया जाएगा. बेशक, इस डोमेन में काम करते समय,  पहचान मैट्रिक्स के रूप में व्याख्या की गई है और   मैट्रिक्स का व्युत्क्रम देगा , यदि यह मौजूद है।

कई ऑपरेशनों का एक ही नाम हो सकता है, और तर्कों और परिणाम दोनों के प्रकारों का उपयोग यह निर्धारित करने के लिए किया जाता है कि कौन सा ऑपरेशन लागू किया गया है (सीएफ। फ़ंक्शन ओवरलोडिंग)।

Axiom SPAD नामक एक एक्सटेंशन भाषा के साथ आता है। Axiom का सारा गणितीय ज्ञान इसी भाषा में लिखा गया है। दुभाषिया लगभग वही भाषा स्वीकार करता है।

विशेषताएँ
दुभाषिया वातावरण के भीतर, Axiom स्पष्ट प्रकार के एनोटेशन को अधिकतर अनावश्यक बनाने के लिए प्रकार अनुमान और अनुमानी एल्गोरिदम का उपयोग करता है।

इसमें 'हाइपरडॉक', एक इंटरैक्टिव ब्राउज़र जैसी सहायता प्रणाली है, और यह दो और तीन आयामी ग्राफिक्स प्रदर्शित कर सकता है, साथ ही रोटेशन और प्रकाश व्यवस्था जैसी इंटरैक्टिव सुविधाएं भी प्रदान करता है। इसमें Emacs के लिए एक विशेष इंटरैक्शन मोड, साथ ही TeXmacs संपादक के लिए एक प्लगइन भी है।

एक्सिओम में प्राथमिक एकीकरण के लिए जोखिम एल्गोरिथ्म का कार्यान्वयन है, जो मैनुअल ब्रोंस्टीन और बैरी ट्रैगर द्वारा किया गया था। हालांकि यह कार्यान्वयन अधिकांश प्राथमिक एंटीडेरिवेटिव ढूंढ सकता है और चाहे वे मौजूद हों, इसमें कुछ गैर-कार्यान्वित शाखाएं हैं, और एकीकरण के दौरान ऐसे मामलों का सामना होने पर त्रुटि उत्पन्न होती है।

यह भी देखें

 * एक शार्प (एक्सिओम)|ए# प्रोग्रामिंग भाषा
 * युग
 * कंप्यूटर बीजगणित प्रणालियों की सूची

अग्रिम पठन

 * Timothy Daly "Axiom -- Thirty Years of Lisp"
 * Timothy Daly "Axiom" Invited Talk, Free Software Conference, Lyon, France, May, 2002
 * Timothy Daly "Axiom" Invited Talk, Libre Software Meeting, Metz, France, July 9–12, 2003
 * Timothy Daly "Axiom -- Thirty Years of Lisp"
 * Timothy Daly "Axiom" Invited Talk, Free Software Conference, Lyon, France, May, 2002
 * Timothy Daly "Axiom" Invited Talk, Libre Software Meeting, Metz, France, July 9–12, 2003
 * Timothy Daly "Axiom -- Thirty Years of Lisp"
 * Timothy Daly "Axiom" Invited Talk, Free Software Conference, Lyon, France, May, 2002
 * Timothy Daly "Axiom" Invited Talk, Libre Software Meeting, Metz, France, July 9–12, 2003
 * Timothy Daly "Axiom -- Thirty Years of Lisp"
 * Timothy Daly "Axiom" Invited Talk, Free Software Conference, Lyon, France, May, 2002
 * Timothy Daly "Axiom" Invited Talk, Libre Software Meeting, Metz, France, July 9–12, 2003
 * Timothy Daly "Axiom -- Thirty Years of Lisp"
 * Timothy Daly "Axiom" Invited Talk, Free Software Conference, Lyon, France, May, 2002
 * Timothy Daly "Axiom" Invited Talk, Libre Software Meeting, Metz, France, July 9–12, 2003
 * Timothy Daly "Axiom -- Thirty Years of Lisp"
 * Timothy Daly "Axiom" Invited Talk, Free Software Conference, Lyon, France, May, 2002
 * Timothy Daly "Axiom" Invited Talk, Libre Software Meeting, Metz, France, July 9–12, 2003
 * Timothy Daly "Axiom -- Thirty Years of Lisp"
 * Timothy Daly "Axiom" Invited Talk, Free Software Conference, Lyon, France, May, 2002
 * Timothy Daly "Axiom" Invited Talk, Libre Software Meeting, Metz, France, July 9–12, 2003
 * Timothy Daly "Axiom -- Thirty Years of Lisp"
 * Timothy Daly "Axiom" Invited Talk, Free Software Conference, Lyon, France, May, 2002
 * Timothy Daly "Axiom" Invited Talk, Libre Software Meeting, Metz, France, July 9–12, 2003
 * Timothy Daly "Axiom -- Thirty Years of Lisp"
 * Timothy Daly "Axiom" Invited Talk, Free Software Conference, Lyon, France, May, 2002
 * Timothy Daly "Axiom" Invited Talk, Libre Software Meeting, Metz, France, July 9–12, 2003
 * Timothy Daly "Axiom -- Thirty Years of Lisp"
 * Timothy Daly "Axiom" Invited Talk, Free Software Conference, Lyon, France, May, 2002
 * Timothy Daly "Axiom" Invited Talk, Libre Software Meeting, Metz, France, July 9–12, 2003
 * Timothy Daly "Axiom" Invited Talk, Libre Software Meeting, Metz, France, July 9–12, 2003

बाहरी संबंध

 * Axiom Homepage
 * Online sandbox to try Axiom
 * Source code repositories: Github, SourceForge, GNU Savannah
 * Jenks, R.D. and Sutor, R. "Axiom, The Scientific Computation System"
 * Daly, T. "Axiom Volume 1: Tutorial"

Software forks:
 * OpenAxiom (SourceForge)
 * FriCAS (SourceForge)