Кіріспе
Математикалық бағдарламалық қамтамасыз ету
Компьютерлік алгебра жүйесі (CAS) немесе символдық алгебра жүйесі (SAS) – математиктер мен ғалымдардың дәстүрлі қолмен есептеулеріне ұқсас математикалық өрнектерді өңдеуге қабілетті кез келген математикалық бағдарламалық қамтамасыз ету. Компьютерлік алгебра жүйелерінің 20-шы ғасырдың екінші жартысындағы дамуы «компьютерлік алгебра» немесе «символдық есептеу» ғылымының бір бөлігі болып табылады, ол полиномдар сияқты математикалық объектілердегі алгоритмдер бойынша жұмыстарды ынталандырады. Компьютерлік алгебра жүйелерін екі классқа бөлуге болады: мамандандырылған және жалпы мақсаттағы. Мамандандырылған жүйелер математиканың нақты бір саласына арналған, мысалы, сандар теориясы, топтар теориясы немесе элементарлық математиканы оқыту. Жалпы мақсаттағы компьютерлік алгебра жүйелері математикалық өрнектерді өңдеуді қажет ететін кез келген ғылыми саланың маманына көмектесуге бағытталған. Тиімді болу үшін жалпы мақсаттағы компьютерлік алгебра жүйесі келесі мүмкіндіктерді қамтуы керек: пайдаланушыға математикалық формулаларды енгізуге және көрсетуге мүмкіндік беретін пайдаланушы интерфейсі, әдетте пернетақта, мәзір таңдаулары, тышқан немесе стилус арқылы; бағдарламалау тілі және интерпретатор (есептеу нәтижесінің пішіні мен көлемі көбінесе болжаусыз болады, сондықтан пайдаланушының араласуы жиі қажет); математикалық формулаларды оңайлатуға арналған қайта жазу жүйесі – оңайлатушы; үлкен көлемдегі аралық деректерді басқаруға және қоқысты жинауға қажетті жад менеджері; үлкен бүтін сандарды өңдеуге қажетті кез келген дәлдіктегі арифметика; математикалық алгоритмдер мен арнайы функциялардың кең кітапханасы. Кітапхана пайдаланушылардың ғана емес, сонымен қатар оңайлатушының қажеттіліктерін де қамтамасыз етуі керек. Мысалы, көпмүшелердің ең үлкен ортақ бөлгішін есептеу, бөлшектерді қамтитын өрнектерді оңайлату үшін жүйелі түрде қолданылады. Бұл қажетті компьютерлік мүмкіндіктердің көптігі жалпы мақсаттағы компьютерлік алгебра жүйелерінің шамалы санын түсіндіреді. Маңызды жүйелерге Axiom, GAP, Maxima, Magma, Maple, Mathematica және SageMath кіреді.
a user interface allowing a user to enter and display mathematical formulas, typically from a keyboard, menu selections, mouse or stylus. a programming language and an interpreter (the result of a computation commonly has an unpredictable form and an unpredictable size; therefore user intervention is frequently needed),
a simplifier, which is a rewrite system for simplifying mathematics formulas,
a memory manager, including a garbage collector, needed by the huge size of the intermediate data, which may appear during a computation,
an arbitrary precision arithmetic, needed by the huge size of the integers that may occur,
a large library of mathematical algorithms and special functions. The library must not only provide for the needs of the users, but also the needs of the simplifier. For example, the computation of polynomial greatest common divisors is systematically used for the simplification of expressions involving fractions. This large amount of required computer capabilities explains the small number of general purpose computer algebra systems. Significant systems include Axiom, GAP, Maxima, Magma, Maple, Mathematica, and SageMath.
Тарих
Компьютерлік алгебра жүйелері 1960 жылдары пайда бола бастады және екі түбегейлі түрлі бастаудан – теориялық физиктердің қажеттіліктері мен жасанды интеллектті зерттеуден дамыды. Бірінші дамудың көрнекті мысалы – 1963 жылы символдық математика, әсіресе жоғары энергиялық физика үшін бағдарлама жасаған, кейін физика саласындағы Нобель сыйлығының лауреаты атанған Мартин Велтманның «Шоуншип» (голланд тілінде «таза кеме») атты пионерлік жұмысы. Тағы бір ерте жүйе – FORMAC. Лиспті бағдарламалау негізі ретінде пайдаланып, Карл Энгельман 1964 жылы MITRE институтында жасанды интеллект зерттеу ортасында MATHLAB-ты жасады. Кейіннен MATHLAB университеттердегі PDP 6 және PDP 10 жүйелерінде, TOPS 10 немесе TENEX опералық жүйелерінде пайдаланушыларға қолжетімді болды. Бүгінде оны PDP 10-ның SIMH эмуляцияларында да қолдануға болады. MATHLAB («математикалық зертхана») 15 жылдан кейін Нью-Мексико университетінде құрылған сандық есептеу жүйесі MATLAB («матрицалық зертхана») емес. 1987 жылы Hewlett Packard HP 28 сериясымен алғашқы CAS калькуляторын ұсынды, бұл калькуляторда алгебралық өрнектерді құру, дифференциалдау, шектеулі символдық интегралдау, Тейлор қатарын құру және алгебралық теңдеулерді шешу мүмкіндігі алғаш рет пайда болды. 1999 жылы HP 48 сериясы үшін тәуелсіз әзірленген CAS Erable, жаңа HP 49/50 сериясының бағдарламалық құрамының ресми бөлігіне енді, ал бір жылдан кейін HP 40 сериясына да қосылды, ал HP Prime 2013 жылы Xcas жүйесін қабылдады. Texas Instruments компаниясы 1995 жылы Derive бағдарламалық жасақтамасына негізделген TI 92 калькуляторын шығарды, ал 2007 жылы TI Nspire сериясы Derive-ді алмастырды. 1998 жылы алғаш рет шығарылған TI 89 сериясы да CAS-ты қамтиды. Casio алғашқы CAS калькуляторын CFX 9970G моделімен шығарды және 1999 жылы Algebra FX сериясымен, ал 2003 жылы қазіргі ClassPad сериясымен оны жетілдірді. Алғашқы танымал компьютерлік алгебра жүйелері muMATH, Reduce, Derive (muMATH негізінде) және Macsyma болды; Macsyma-ның танымал copyleft нұсқасы Maxima әлі де белсенді түрде қолданылуда. Reduce 2008 жылы ашық кодты бағдарламалық жасақтамаға айналды. Бүгінгі таңда ең танымал коммерциялық жүйелер – Mathematica және Maple, олар математиктер, ғалымдар және инженерлер зерттеу жұмыстарында кеңінен қолданады. Тегін қолжетімді баламаларға SageMath (бірнеше басқа тегін және коммерциялық емес CAS-қа интерфейс ретінде жұмыс істей алады) кіреді. Басқа маңызды жүйелерге Axiom, GAP, Maxima және Magma жатады. 2000 жылдардың басында веб-қосымшаларға бет бұру WolframAlpha-ның пайда болуына әкелді, ол Mathematica мүмкіндіктерін қамтитын онлайн ізденіс жүйесі және CAS болып табылады. Соңғы кезде компьютерлік алгебра жүйелері жасанды нейрондық желілерді пайдалана отырып жүзеге асырылуда, бірақ 2020 жылдың қазіргі күніне дейін олар коммерциялық түрде қолжетімді емес.
Сөздердің түрлері
CAS жүйесімен өңделетін өрнектерге әдетте көп айнымалы полиномдар, өрнектердің стандартты функциялары (синус, экспонента және т.б.), әртүрлі арнайы функциялар (Γ, ζ, erf, Бессель функциялары және т.б.), өрнектердің кез келген функциялары, оптимизация, туындылар, интегралдар, өрнектерді жайландыру, қосындылар және көбейтулер, коэффициенттері ретінде өрнектер бар тізбектер, өрнектер матрицалары және тағы да басқалары жатады. Қолдау көрсетілетін сандық домендерге әдетте нақты сандардың қозғалатын нүктелі бейнелеуі, шексіз өлшемді бүтін сандар, күрделі сандардың қозғалатын нүктелі бейнелеуі, нақты сандардың интервалдық бейнелеуі, рационал сандардың (дәл бейнелеуі) және алгебралық сандар кіреді.
Білім беруде қолдану
Бастауыш және орта мектептерде компьютерлік алгебра жүйелерін қолдануды ұстаздағандар көп болды. Мұндай ұстанымның басты себебі – компьютерлік алгебра жүйелері қағаз бен қаламмен немесе қол калькуляторы арқылы шешілетін математикаға қарағанда, шын өмірдегі математиканы жақсырақ көрсетеді. Математика сабақтарында компьютерді қолдануды көбейтуге бағытталған бұл тырысқа кейбір білім беру кеңестері қолдау көрсетті. Ал кейбір аймақтарда бұл талап оқу бағдарламасына міндетті түрде енгізілді. Компьютерлік алгебра жүйелері жоғары білімде кеңінен қолданылады. Көптеген университеттер оларды пайдалануды үйрету бойынша жеке курстар ұсынады немесе студенттерден курстық жұмыстарында оларды қолдануды күтеді. Компьютерлік алгебра жүйелерін әзірлейтін компаниялар олардың университеттер мен колледждердегі қолданылуын арттыруға күш салады. CAS-қа жабдықталған калькуляторлар ACT, PLAN тесттерінде және кейбір сыныптарда рұқсат етілмейді, бірақ College Board ұйымының калькуляторға рұқсат берілген барлық емтихандарында, соның ішінде SAT, кейбір SAT пәндік емтихандарында және AP Calculus, химия, физика және статистика емтихандарында қолдануға болады.