SageMath – математиканы зерттеуге арналған ашық кодты, тегін бағдарлама. Алгебра, сандар теориясы, есептеулер және т.б. Python синтаксисімен жұмыс істейді.
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Компьютерлік алгебра жүйесі
Computer algebra system
SageMath (бұрын Sage немесе SAGE, "Алгебра және геометрияны зерттеу жүйесі") – математиканың алгебра, комбинаторика, графтар теориясы, топтар теориясы, дифференциалданатын көптелімдер, сандық талдау, сандар теориясы, есептеу және статистика сияқты көптеген салаларын қамтитын мүмкіндіктері бар компьютерлік алгебра жүйесі (CAS). SageMath-тың алғашқы нұсқасы 2005 жылғы 24 ақпанда GNU General Public License нұсқасының 2-ші нұсқасы бойынша ақысыз және ашық кодты бағдарлама ретінде жарияланды. Бастапқы мақсаты – "Magma, Maple, Mathematica және MATLAB-қа ашық кодты балама" жасау болды. SageMath жобасын бастаушы және жетекшісі – Вашингтон университетінің математигі Уильям Стейн. SageMath Python синтаксисіне ұқсас синтаксисті пайдаланады және процедуралық, функционалдық және объектіге бағытталған құрылымдарды қолдайды.
SageMath (previously Sage or SAGE, "System for Algebra and Geometry Experimentation") is a computer algebra system (CAS) with features covering many aspects of mathematics, including algebra, combinatorics, graph theory, group theory, differentiable manifolds, numerical analysis, number theory, calculus and statistics. The first version of SageMath was released on 24 February 2005 as free and open source software under the terms of the GNU General Public License version 2, with the initial goals of creating an "open source alternative to Magma, Maple, Mathematica, and MATLAB". The originator and leader of the SageMath project, William Stein, was a mathematician at the University of Washington. SageMath uses a syntax resembling Python's, supporting procedural, functional and object oriented constructs.
Даму
Стайн 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 Дженкс сыйлығы.
Stein realized when designing Sage that there were many open source mathematics software packages already written in different languages, namely C, C++, Common Lisp, Fortran and Python. Rather than reinventing the wheel, Sage (which is written mostly in Python and Cython) integrates many specialized CAS software packages into a common interface, for which a user needs to know only Python. However, Sage contains hundreds of thousands of unique lines of code adding new functions and creating the interfaces among its components. SageMath uses both students and professionals for development. The development of SageMath is supported by both volunteer work and grants. However, it was not until 2016 that the first full time Sage developer was hired (funded by an EU grant). The same year, Stein described his disappointment with a lack of academic funding and credentials for software development, citing it as the reason for his decision to leave his tenured academic position to work full time on the project in a newly founded company, SageMath, Inc.
2012: one of the projects selected for the Google Summer of Code. 2013: ACM/SIGSAM Jenks Prize.
Өнер көрсету
SageMath үшін екілік файлдар мен бастапқы код жүктеу бетінен қолжетімді. Егер SageMath бастапқы кодтан құрастырылса, OpenBLAS, FLINT, GAP (компьютерлік алгебра жүйесі) және NTL сияқты көптеген кітапханалар процессорлардың саны, олардың кэштерінің көлемі, SSE нұсқауларын аппараттық деңгейде қолдаудың болуы сияқты факторларды ескере отырып, сол компьютерге қарай реттеледі және оңтайландырылады. Cython Python кодын C тіліне түрлендіре отырып, SageMath бағдарламаларының жылдамдығын арттыра алады.
Both binaries and source code are available for SageMath from the download page. If SageMath is built from source code, many of the included libraries such as OpenBLAS, FLINT, GAP (computer algebra system), and NTL will be tuned and optimized for that computer, taking into account the number of processors, the size of their caches, whether there is hardware support for SSE instructions, etc. Cython can increase the speed of SageMath programs, as the Python code is converted into C.
Лицензиялау және қол жетімділік
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 қолдауын ұсынады.
SageMath is free software, distributed under the terms of the GNU General Public License version 3. SageMath 8.0 (July 2017), with development funded by the OpenDreamKit project, As of SageMath 10.0 (May 2023), it requires Windows Subsystem for Linux in version 2, which in turn requires Windows to run as a Hyper V client. Linux distributions in which SageMath is available as a package are Fedora, Arch Linux, Debian, Ubuntu and NixOS. In Gentoo, it is available via layman in the "sage on gentoo" overlay. The package used by NixOS is available for use on other distributions, due to the distribution agnostic nature of its package manager, Nix. Gentoo prefix also provides Sage on other operating systems.