Кіріспе

Компьютерлік алгебра жүйесі

Ерекшеліктері

Mathomatic элементар алгебраны шешуге, дифференциалдауға, оңайлатуға, есептеуге және визуализациялауға қабілетті. Ол бастапқыда MS DOS үшін Microsoft C тілінде жазылған. 1- және 2-нұсқалары 1987 және 1988 жылдары Нью-Йорк штатының Рочестер қаласындағы Dynacomp компаниясымен DOS жүйесіне арналған ғылыми бағдарламалық өнім ретінде жарияланды. Кейін ол 2D теңдеулер графигін құру бағдарламасымен бірге shareware, содан кейін emailware ретінде таралды. 20-шы ғасырдың басында Mathomatic Linux жүйесіндегі GNU C компиляторына көшіріліп, ақысыз бағдарламалық құралға айналды. Графикалық бағдарлама қолданудан тоқтатылды; теңдеулердің 2D/3D графигі gnuplot арқылы жасалады. "Mathomatic" атауы "математика" және "автоматтық" сөздерінің қосындысынан құралған, және ол жасанды интеллект саласындағы алғашқы тәжірибе болған Rog O Matic-тің аталғандығы мен автоматтандырылуынан шабыт алды. Автордың 2013 жылдың 24 ақпанында қайтыс болуына байланысты әзірлеу тоқтаған сияқты.

Қол жетімді платформалар

Mathomatic дерлік барлық платформаларда қолжетімді, оның ішінде Microsoft Windows-та MinGW арқылы. Ол Mac OS X, iOS, Android және Nintendo DS үшін DSLinux және дербес түрде де қолжетімді. Fedora Linux, Slackware, Debian, Ubuntu, Gentoo Linux және барлық негізгі BSD Unix дистрибутивтері Mathomatic-ті автоматты түрде орнатылатын пакет ретінде қамтиды. Emscripten арқылы JavaScript-ке портталған, бұл Mathomatic-ті веб-браузерде іске қосуға мүмкіндік береді. Порттарды әрқайсысы жеке адамдар күзетеді.

Талаптар

Көзден құрастыру үшін стандартты POSIX C кітапханалары бар C компиляторы қажет. Егер Mathomatic Unix сияқты операциялық жүйе үшін GCC C компиляторымен немесе Tiny C компиляторымен құрастырылса, бастапқы кодқа ешқандай өзгеріс енгізудің қажеті жоқ. Mathomatic компиляторға тән кодты пайдаланбайды, сондықтан ол әдетте кез келген C компиляторымен оңай құрастырылады. Mathomatic Symbolic Math Library пайдалану бағдарламалау тілдерін араластыруға мүмкіндік береді және операциялық жүйеге тәуелсіз. Mathomatic кем дегенде 1 мегабайт бос RAM-ы бар кез келген компьютерге орнатылуы мүмкін. Mathomatic стандартты тарату үшін жад талабы, теңдеу кеңістіктерінің мөлшеріне және қанша өрнек енгізілгеніне байланысты, ең көп дегенде 400 мегабайтты құрайды. Теңдеу кеңістіктері – қажеттілікке қарай бөлінетін, көлемі компиляция немесе іске қосылған кезде белгіленетін, белгілі бір мөлшердегі массивтер. Басты сұраныста енгізілген әрбір алгебралық өрнек немесе теңдеу теңдеу кеңістігінде сақталады. Mathomatic жадты жылжыту арқылы көптеген символдық манипуляцияларды орындау үшін, ассемблер тіліндегі бағдарлама сияқты жазылған. Бұл Mathomatic-ті жаңа LLVM артқы бөлігімен қолданғанда құлауына себеп болады, себебі ол стандартты C кітапханасының memmove(3) функциясын дұрыс қабылдамайды. Mathomatic-ті LLVM артқы бөлігін пайдаланатын C компиляторымен пайдалану үшін, C компиляторының команда жолында "O0" арқылы барлық оптимизацияларды өшіріңіз. Әйтпесе, регрессиялық тесттер шексіз циклге түсіп кетеді. Бұл LLVM-дегі оптимизациялық қате. Бұл оптимизациялық қатені жоюға тырысатындарға көмектесу үшін, Mathomatic LLVM (32^.5) өрнегін 4*(2^.5) түрінде оңайлатқанда сәтсіздікке ұшырайды және әрқашан шексіз циклге түседі.