Кіріспе

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

SageMath (бұрын Sage немесе SAGE, "Алгебра және геометрияны зерттеу жүйесі") – математиканың алгебра, комбинаторика, графтар теориясы, топтар теориясы, дифференциалданатын көптелімдер, сандық талдау, сандар теориясы, есептеу және статистика сияқты көптеген салаларын қамтитын мүмкіндіктері бар компьютерлік алгебра жүйесі (CAS). SageMath-тың алғашқы нұсқасы 2005 жылғы 24 ақпанда GNU General Public License нұсқасының 2-ші нұсқасы бойынша ақысыз және ашық кодты бағдарлама ретінде жарияланды. Бастапқы мақсаты – "Magma, Maple, Mathematica және MATLAB-қа ашық кодты балама" жасау болды. SageMath жобасын бастаушы және жетекшісі – Вашингтон университетінің математигі Уильям Стейн. SageMath Python синтаксисіне ұқсас синтаксисті пайдаланады және процедуралық, функционалдық және объектіге бағытталған құрылымдарды қолдайды.

Даму

Стайн Sage-ті жобалау кезінде C, C++, Common Lisp, Fortran және Python сияқты әртүрлі тілдерде жазылған көптеген ашық кодты математикалық бағдарламалық қамтамасыздардың бар екенін түсінді. Дөңгелекті қайта ойлап табудың орнына, Sage (көбінесе Python және Cython тілдерінде жазылған) көптеген мамандандырылған CAS бағдарламалық қамтамасын ортақ интерфейске біріктіреді, ол үшін пайдаланушыға тек Python білу жеткілікті. Дегенмен, Sage-де жаңа функцияларды қосатын және оның құралымдық бөліктері арасындағы интерфейстерді құратын жүздеген мыңдаған ерекше код жолдары бар. SageMath дамытуға студенттер мен кәсіби мамандарды тартады. SageMath-тің дамуы еріктілер еңбегі мен гранттар есебінен жүзеге асырылады. Алайда, 2016 жылы ғана Sage-тің алғашқы толық уақытты әзірлеушісі жұмысқа алынды (ЕО грантымен қаржыландырылды). Сол жылы Штайн бағдарламалық қамтамасты дамытуға академиялық қаржыландыру мен құзыреттіліктің жетіспеушілігіне наразылық білдірді, осы себепті ол жаңадан құрылған SageMath, Inc. компаниясында толық уақыт жұмыс істеу үшін академиялық лауазымынан бас тартты. 2012 жыл: Google Summer of Code бағдарламасының ішіндегі таңдалған жобалардың бірі. 2013 жыл: ACM/SIGSAM Дженкс сыйлығы.

Өнер көрсету

SageMath үшін екілік файлдар мен бастапқы код жүктеу бетінен қолжетімді. Егер SageMath бастапқы кодтан құрастырылса, OpenBLAS, FLINT, GAP (компьютерлік алгебра жүйесі) және NTL сияқты көптеген кітапханалар процессорлардың саны, олардың кэштерінің көлемі, SSE нұсқауларын аппараттық деңгейде қолдаудың болуы сияқты факторларды ескере отырып, сол компьютерге қарай реттеледі және оңтайландырылады. Cython Python кодын C тіліне түрлендіре отырып, SageMath бағдарламаларының жылдамдығын арттыра алады.

Лицензиялау және қол жетімділік

SageMath – GNU General Public License 3-ші нұсқасының шарттарымен таратылатын ақысыз бағдарламалық қамтамасы. SageMath 8.0 (2017 жылдың шілдесі), OpenDreamKit жобасының қаржыландыруымен дамытылған. SageMath 10.0 (2023 жылдың мамыр айы) нұсқасынан бастап, ол Windows Subsystem for Linux 2-ші нұсқасын қажет етеді, ал ол өз кезегінде Windows жүйесінің Hyper-V клиенті ретінде жұмыс істеуін талап етеді. SageMath пакет ретінде қолжетімді Linux дистрибутивтері: Fedora, Arch Linux, Debian, Ubuntu және NixOS. Gentoo жүйесінде ол "sage on gentoo" жапсырмасы арқылы қолжетімді. NixOS қолданатын пакет Nix пакеттік менеджерінің дистрибутивке тәуелді еместігіне байланысты басқа дистрибутивтерде де қолданылуы мүмкін. Gentoo префиксі басқа операциялық жүйелерде де Sage қолдауын ұсынады.