Fact-checked by Grok 2 weeks ago

SageMath

SageMath is a free and open-source mathematics software system designed as a comprehensive alternative to proprietary tools such as Magma, Maple, Mathematica, and MATLAB, providing a unified platform for research and teaching in various mathematical domains. Initiated by mathematician William Stein in 2004 and first released in 2005, it combines a core library of unique mathematical algorithms with interfaces built primarily in the Python programming language. Licensed under the GNU General Public License version 2 or later (GPLv2+), SageMath emphasizes community-driven development and openness, supporting areas including algebra, geometry, number theory, cryptography, numerical computation, combinatorics, graph theory, and group theory. SageMath integrates over 250 established packages, such as , Maxima, and PARI/GP, to leverage their specialized functionalities while offering a consistent -based interface that simplifies workflows across disciplines. It provides multiple access methods, including a , a web-based environment, and embedding capabilities in documents via the SageTeX package, enabling seamless incorporation into and presentations. The system's modular design allows users to extend its capabilities through Python scripting, fostering reproducibility in and supporting both interactive exploration and large-scale simulations. Developed collaboratively by over 700 contributors worldwide, SageMath has seen numerous releases, including over 70 stable versions, with the latest stable version 10.7 issued on August 9, 2025, encompassing approximately 600 MB of source code. Its impact is evidenced by citations in over 500 academic papers and an active user base exceeding 30,000 on platforms like CoCalc, an online computational environment. As a flagship project in open-source scientific computing, SageMath promotes accessibility and peer-reviewed enhancements, including participation in the Google Summer of Code 2025, making advanced mathematical tools available without licensing restrictions.

History and Development

Origins and Founding

SageMath was founded in 2005 by William A. Stein, then a at , as an open-source alternative to proprietary mathematical software systems such as , , Mathematica, and . Stein, who had previously contributed to the development of key components in , sought to address the limitations of commercial tools that restricted accessibility for students and researchers due to high licensing costs and restrictive terms. His vision was to create a unified, free platform that integrated existing open-source mathematical libraries, enabling seamless computation across diverse areas without the need for multiple paid subscriptions. The initial motivations stemmed from Stein's frustrations encountered during his research in and , where hindered collaboration and reproducibility. He aimed to build a system that was not only cost-free but also extensible by users, drawing on his experience with closed-source development to prioritize openness from the outset. Early development focused on wrapping high-quality open-source packages like PARI/GP, , and Maxima into a cohesive interface, with the first prototype released in September 2005 and the initial version 0.1 on February 24, 2005. Funding for the project's inception came from an NSF grant (DMS-0400386) awarded to , supplemented by his personal resources to bootstrap . This support enabled the acquisition of computational and initial coding efforts, laying the groundwork for SageMath's growth into a comprehensive tool accessible to the global mathematical community.

Key Milestones and Releases

SageMath's development has progressed through numerous releases since its , with versions marking significant advancements in functionality and usability. The first release, version 1.0, arrived in February 2006, establishing a foundational system that integrated core open-source mathematical libraries into a cohesive Python-based environment. Subsequent releases built on this base, with version 4.0 launched on May 29, 2009, delivering enhanced stability through refined dependency management and bug fixes across algebraic and numerical components. By 2020, version 9.0, released on January 1, introduced seamless integration with Jupyter notebooks, enabling interactive workflows that aligned SageMath more closely with modern computational practices. Version 10.0, released in May 2023, introduced support for Drinfeld modules, with applications in and . The most recent stable release, version 10.7, was issued on August 9, 2025, incorporating improvements in for floating-point operations and new algorithms for applications, such as enhanced shortest-path computations. Beta testing for version 10.8 began in August 2025, with the beta9 pre-release on November 11, 2025 (following beta8 on October 27), allowing developers to evaluate upcoming features like refined package handling before the anticipated stable rollout. As of November 2025, version 10.8 remains in beta. Key milestones include SageMath's participation in the Google Summer of Code program starting in 2008, which has fostered contributions from over 100 students across multiple years, accelerating feature development. In 2015, the project saw the incorporation of SageMath, Inc., providing a structured entity for funding and commercialization efforts while maintaining open-source principles. A pivotal shift occurred in 2023 with the migration to for , streamlining collaboration through pull requests and issue tracking for the community's distributed efforts. Architecturally, SageMath has long relied on SPKGs (Sage Packages) to simplify the integration of external libraries, allowing users to install dependencies like GAP or Maxima via simple commands without manual configuration. This approach, refined over releases, ensures compatibility and ease of extension, supporting the system's modular design.

Features and Architecture

Core Language and Interface

SageMath is built primarily on the Python programming language, extending its syntax to facilitate mathematical computations through a specialized preparser that transforms user input into valid Python code compatible with Sage's mathematical structures. This preparser enables intuitive notation, such as treating 1/2 as a rational fraction Integer(1)/Integer(2) rather than a floating-point number, and supports symbolic variable declarations like x = var('x') followed by expressions such as f = x^2 + 1 to create symbolic functions. Users interact with Sage in a Pythonic environment where standard Python constructs, including loops, conditionals, and object-oriented programming, are fully available, augmented by Sage-specific enhancements for mathematical precision and expressiveness. SageMath offers multiple user interfaces to accommodate different workflows, with Jupyter notebooks serving as the default since version 8.0, providing an interactive environment that integrates code execution, textual explanations, and graphical outputs in a unified format. The allows direct REPL (read-eval-print loop) access for scripting and quick computations, while legacy graphical options like SageNB offer a web-based notebook for more visual exploration. Additionally, the SageCell server provides a lightweight, browser-based interface for executing short Sage code snippets online without local installation, ideal for testing or sharing computations. Key syntax features include support for within notebook interfaces, where users can interweave executable code, narrative text, and results, and automatic between data types to ensure consistent operations across mathematical domains. For instance, adding an integer p = 2*x + 3 to a rational q = 1/2 automatically coerces to a over the rationals, yielding parent(p + q) as the univariate over the rational . This model prioritizes structure-preserving maps, enabling seamless arithmetic and comparisons without explicit type conversions. The system's extensibility leverages Python's flexibility, allowing users to define custom functions, classes, and modules that integrate with Sage's core objects, such as extending symbolic expressions or creating new coercion paths. The preparser further aids this by handling mathematical shorthand, like implicit multiplication (when enabled) or literal methods (e.g., 16.sqrt() evaluating to 4), making it straightforward to build upon Sage's framework for specialized applications.

Integrated Packages

SageMath integrates a variety of open-source packages as standard components of its distribution, providing foundational capabilities across mathematical domains. These standard packages are automatically installed during SageMath setup if equivalent system libraries are not detected, ensuring a self-contained environment for computation. Key standard packages include , a Python library for symbolic mathematics that handles algebraic manipulation, differentiation, and equation solving; Maxima, a system for manipulating symbolic and numerical expressions, including integration and special functions; , a system for computational discrete algebra focused on and groups; PARI/GP, a specialized in , including prime factorization and elliptic curves; and , Python libraries for numerical computing, array operations, and scientific algorithms such as optimization and linear algebra; , a plotting library for 2D visualizations of data and functions; FLINT, a library for fast arithmetic over integers, polynomials, and matrices; and Singular, a system for and , supporting Gröbner bases and ideal computations. Additionally, optional packages such as for statistical computing and graphics are integrated via dedicated interfaces, allowing users to extend SageMath's functionality without separate installations. SageMath's package management system supports over 150 SPKGs (Sage Packages), which are tarball-based distributions of third-party software tailored for integration. Users can install these via the command sage -i <package_name>, which downloads, builds, and configures the package within SageMath's environment; examples include for graph visualization and layout algorithms, and for interactive in domains like and . These packages are exposed through SageMath's unified Python-based interface, enabling seamless interoperability; for instance, users can invoke functions directly from Sage code without launching a separate session, leveraging automatic and translation between data types. Packages are maintained independently by their upstream projects, with SageMath ensuring compatibility through version pinning and build scripts; a complete list of all available packages, including dependencies and installation status, is documented in the official SageMath reference manual.

Capabilities and Applications

Mathematical Domains Covered

SageMath provides extensive support for algebraic computations, including manipulation of expressions, operations in rings over various coefficient domains such as or finite fields, and linear functionalities like operations, eigenvalue decompositions, and solving systems over rings including finite fields. In , SageMath facilitates primality testing, , computations with elliptic curves including point addition and rank determination, and the study of modular forms through spaces and Hecke operators. The system covers geometry and through tools for , such as defining varieties and computing intersections via integration with Singular, and including manifolds, charts, and tensor fields for topological and differentiable structures. and are well-supported, with capabilities for generating permutations, enumerating combinatorial objects like posets and designs, and graph algorithms including shortest paths, maximum matchings, and testing. For numerical and scientific computing, SageMath enables solving differential equations symbolically and numerically, optimization problems, and tasks through its interface to . Statistics and probability features include distributions, random variables, hypothesis testing, and statistical modeling, leveraging built-in functions and integrations with and . Additionally, SageMath supports cryptography with implementations of , classical ciphers, and public-key systems, as well as physics simulations through optional packages that extend numerical methods for dynamical systems and .

Educational and Research Uses

SageMath has been widely adopted in for teaching core mathematical concepts, particularly in , , and . Institutions utilize its interactive environment to facilitate hands-on learning, allowing students to explore operations, solve differential equations, and analyze graph structures without barriers. For instance, the Mathematical Association of America's workshops provide quickstart tutorials tailored for these courses, enabling instructors to integrate SageMath into curricula for topics like linear algebra and . The open-access textbook Sage for Undergraduates by Gregory V. Bard, published in 2015, serves as a primary resource, guiding students from post- levels through programming-free computations in SageMath, with free PDF versions available for classroom use. Online tutorials on the official SageMath documentation further support self-paced learning, emphasizing practical examples in and . In research, SageMath supports advanced investigations in and , enabling computations that contribute to proofs and theoretical advancements. Researchers leverage its number field and functionalities for verifying conjectures, such as those related to L-functions and modular forms. A prominent application is its integration into the L-functions and Modular Forms Database (LMFDB), where SageMath handles computations for arithmetic geometry objects, facilitating discoveries in over number fields. tools in SageMath have been employed in papers analyzing spectral properties and problems, aiding algorithmic developments in network analysis. Notable achievements include SageMath's role in computational breakthroughs, such as factoring high-degree division polynomials for elliptic curves with complex multiplication, which has informed studies on ranks and regulators. It powers collaborative platforms like , where researchers jointly develop Jupyter notebooks for real-time synchronization in projects spanning and . As of 2025, SageMath has been cited in over 500 academic papers, underscoring its impact across mathematical disciplines. Community resources enhance its educational and research utility, with the SageMath wiki offering extensive examples and tutorials for interactive implementations. Annual events like Sage Days—specialized workshops and summer schools—foster skill-building in areas such as arithmetic, often held at institutions like SLMath. SageMath's seamless integration with Jupyter notebooks supports interactive lectures and reproducible research, allowing educators to embed dynamic visualizations and code directly into teaching materials.

Performance and Comparisons

Benchmarking and Optimization

SageMath provides built-in benchmarking tools to evaluate the performance of its computational operations. The sage.misc.[benchmark](/page/Benchmark) module offers functions such as benchmark(n=-1), which executes a series of representative Sage commands and records their execution times, with n=-1 running all predefined benchmarks by default. These include tasks like factoring polynomials over , such as (x^97 + 19*x + 1)*(x^103 - 19*x^97 + 14)*(x^100 - 1), computing Mordell-Weil groups of elliptic curves, and performing arithmetic with large integers or rationals, like 3^1000001 * 19^100001. Additionally, the suite focuses on computations, testing real-world problems such as expanding and differentiating polynomials, simplifying rational expressions, and computing , to assess efficiency in symbolic manipulation without relying on synthetic tests. Optimization in SageMath leverages integration with high-performance C libraries to accelerate core arithmetic operations. For instance, the FLINT library, which builds on the GMP for multiple-precision arithmetic, handles number-theoretic computations efficiently, including polynomial operations and . Parallel computing is supported through Python's multiprocessing module, enabling parallel iterators and map-reduce frameworks for distributing workloads across multiple processes, particularly useful for embarrassingly parallel tasks like evaluating functions over large iterables. Caching mechanisms further enhance efficiency for repeated computations; decorators like @cached_function and @cached_method store results in memory (or optionally on disk) based on input keys, avoiding redundant calculations in functions or class methods, while weak caching with @weak_cached_function allows automatic cleanup of unused entries. Performance in SageMath is influenced by the interplay between its Python-based interpreter and underlying native implementations. Pure Python code incurs overhead from interpretation and dynamic typing, which can slow simple operations compared to direct calls to C or Fortran libraries interfaced via Cython; however, Cython extensions compile critical paths to near-native speeds, minimizing this gap for compute-intensive tasks. Recent versions, such as 10.x, have introduced refinements like removing deprecated memory allocators in backends and refactoring methods for multivariate polynomials, improving overall memory usage and reducing allocation overhead in symbolic and numerical routines. SageMath's testing infrastructure ensures reliability and detects performance regressions through comprehensive automated doctests. These tests, integrated into the documentation, verify both correctness and efficiency across functions and modules. Release candidates undergo against previous versions via buildbot systems, flagging any slowdowns or regressions in key operations before finalization.

Comparisons with Other Systems

SageMath distinguishes itself from proprietary systems like Mathematica and Maple by offering unrestricted free access without licensing fees, making it particularly advantageous for educational institutions and individual researchers worldwide. While these commercial alternatives provide polished, out-of-the-box experiences, SageMath requires more initial configuration to integrate its diverse open-source components, such as Maxima for symbolic computation and / for . Nonetheless, this architecture enables SageMath to deliver comparable symbolic and numerical capabilities, often matching or exceeding proprietary systems in specific domains like and through targeted library wrappers. In contrast to other open-source alternatives, SageMath provides a more cohesive platform than standalone tools such as , which focuses solely on symbolic mathematics in pure , or , a specialized system for computational . By bundling and a customized version of as standard packages, SageMath facilitates unified workflows, allowing users to transition seamlessly between symbolic manipulation, group computations, and broader mathematical explorations within a single interface. However, for highly specialized algebraic tasks, SageMath interfaces with but does not match the raw computational speed of , a proprietary system optimized for advanced algebra, though it avoids 's costs and licensing restrictions. SageMath's Python-based foundation introduces a steeper for newcomers without programming experience, yet it surpasses many alternatives in extensibility, enabling users to extend functionality via custom scripts or additional packages. Community evaluations highlight its competitiveness in mixed symbolic-numeric workloads, where it leverages low-level library integrations for efficient numerical operations, often reaching speeds comparable to optimized code. A key strength lies in its zero-cost model, ideal for educational applications in under-resourced environments, though its comprehensive —requiring about 6 of disk space and resulting in a 3-4 footprint—contrasts with the minimal overhead of lighter tools like alone.

Licensing, Community, and Availability

Licensing

SageMath's core codebase is licensed under the GNU General Public License version 2 or later (GPLv2+), a that has governed the original code since the project's inception in 2005. This licensing applies to the integrated library and ensures that modifications and derivatives remain . The full SageMath distribution incorporates this primary license while bundling numerous external packages, known as Sage Packages (SPKGs), most of which are released under GPL-compatible licenses to maintain overall compatibility. For instance, some libraries use the GNU Lesser General Public License (LGPL), but all standard packages must align with GPLv3 compatibility requirements for inclusion. Users redistributing SageMath or its components are required to review the specific license for each SPKG, as detailed in the package's SPKG.txt or SPKG.rst files, to ensure compliance with any unique terms. Under GPLv2+, SageMath permits free use, study, modification, and distribution for any purpose, including commercial applications, as long as derivative works provide access and adhere to the license's conditions. There are no restrictions or fees imposed by the project beyond the standard GPL obligations, fostering broad accessibility and collaboration in mathematical computing. Licensing has remained stable under GPLv2+ through 2025, despite occasional community discussions considering a shift to GPLv3+; no such change has been implemented, and dual-licensing is not employed.

Community and Support

The SageMath community revolves around collaborative platforms and events that facilitate development, discussion, and knowledge sharing. Historically, the project utilized a server for bug tracking, feature requests, and an integrated for collaborative documentation, but in 2023, development fully migrated to , where issues and pull requests now centralize these activities. Active mailing lists include sage-support for user queries on , usage, and , and sage-devel for technical discussions on , , and enhancements. Since 2006, the community has organized annual Sage Days conferences—intensive workshops and coding sprints held worldwide—to advance the software through hands-on collaboration among developers, mathematicians, and educators. Contributions to SageMath are welcomed from all participants through an open workflow, where users submit pull requests to propose code improvements, new features, or bug fixes, with reviews ensuring quality and integration. The project actively engages emerging developers via (GSoC), including in 2025 with initiatives exploring implementations and enhancements to 2D/3D graphics visualization tools. By 2025, SageMath has benefited from hundreds of contributors globally, as mapped across its development history, spanning academics, students, and professionals. User support is robust and multifaceted, with the Ask Sage forum serving as a primary resource, accumulating over 12,000 questions on topics from basic syntax to advanced algorithms. The official documentation spans extensive resources, including interactive tutorials, a comprehensive reference manual with examples for all modules, and developer guides, all available in HTML and PDF formats with multilingual options. Real-time assistance is provided through the Zulip chat platform, which has superseded the legacy IRC channel and hosts dedicated streams for support, development, and special topics. Funding has historically included institutional grants from the (NSF) for core development and educational outreach, and European Union Horizon 2020 projects like OpenDreamKit for infrastructure enhancements; as of 2025, support is sustained via community-driven platforms like Open Collective for donations and transparent , alongside Sponsors and GSoC stipends. Governance emphasizes a decentralized, volunteer-led model, with major decisions coordinated via the sage-devel mailing list, maintainers, and release managers to ensure consensus and stability. William Stein, through his ongoing involvement via SageMath, Inc., promotes inclusivity by prioritizing accessible entry points for students and underrepresented researchers, such as GSoC mentorship and women-focused Sage Days events.

Installation and Distribution

SageMath is available across multiple platforms, including , macOS, Windows, and web-based environments, allowing users to choose methods suited to their operating system and needs. On Linux distributions such as Ubuntu and Fedora, SageMath can be installed via native package managers without requiring a full source build, though these typically provide older versions. For the latest release (10.7 as of November 2025), alternatives like conda, source builds, or AppImages are recommended. For Ubuntu, while sudo apt install sagemath is available, it obtains an outdated version from the repositories; users should verify and prefer other methods for core functionalities in version 10.7. Similarly, on Fedora, the command dnf install sagemath installs the package if available, though it may be absent or outdated in recent releases and requires verification of compatibility with the system's Python version, such as Python 3.11 or later; conda or source is advised for current versions. For macOS (version 10.15 or later), installation options include pre-built binaries from the official GitHub repository maintained by the 3-manifolds project, which provide a signed and notarized application bundle for macOS 10.13 (High Sierra) and newer, including recent SageMath versions like 10.7, or using Homebrew with brew install --cask sage to handle dependencies like Boost and CMake automatically. On Windows, direct native support is limited, so the recommended approach is using the Windows Subsystem for Linux (WSL) with Ubuntu; after setting up WSL, SageMath installs via sudo apt install sagemath or through a virtual machine running Linux. For users preferring no local installation, web-based options include the SageCell server at sagecell.sagemath.org for interactive computations in a browser and CoCalc, a cloud platform that supports full SageMath sessions with Jupyter notebooks. Installation methods emphasize ease of use and flexibility, with binary installers, source builds, and environment managers as primary options. Although pre-built binaries for have been discontinued in recent releases, users can still access version 10.7 binaries for specific architectures via archived mirrors if needed, but package managers are preferred. Building from requires downloading the stable tarball (e.g., sage-10.7.tar.gz) from mirrors like those at or European sites, extracting it, and running make in the directory; prerequisites include 3.11 or later, at least 2 GB of RAM (4-5 GB recommended for ), and system libraries such as and , with the build process taking several hours on standard hardware. Alternatively, the conda-forge channel simplifies setup across , macOS (x86_64 and ), and by running conda install -c conda-forge [sage](/page/Sage) after installing Miniconda or , creating an isolated environment with all dependencies like and . The full typically requires about 2 GB of disk space once built or unpacked. SageMath is distributed through a network of worldwide mirrors to ensure reliable access, including sites in the (e.g., ), Asia (e.g., AARNET in ), and Europe (e.g., TUXFamily in ), from which users download source tarballs, optional packages, or older binaries. For containerized deployments, official images are available on Docker Hub under the sagemath namespace, such as sagemath/sagemath:10.7, allowing quick setup with docker run -it sagemath/sagemath:10.7 sage for development or testing environments. Updates to SageMath can be managed in-place for source installations by using commands like sage -upgrade to fetch and install the latest version over the existing one, preserving user data and notebooks, though a full reinstall is recommended for major releases to resolve potential dependency conflicts. For server-based use, SageMath integrates seamlessly with JupyterHub by launching via sage -n jupyter, enabling multi-user environments where the Sage kernel appears alongside and other options in the interface.

References

  1. [1]
    Press Kit - SageMath
    SageMath is a comprehensive open source alternative to Magma, Maple, Mathematica, and Matlab. SageMath consists of a collection of mathematical software.
  2. [2]
    Tutorial - SageMath Documentation
    Sage is free, open-source math software that supports research and teaching in algebra, geometry, number theory, cryptography, numerical computation, and ...Introduction · Getting Help · Basic Algebra and Calculus · Linear Algebra
  3. [3]
    Sage Mathematical Software System - GitHub
    SageMath is a free, open-source mathematical software system based on the Python programming language. It covers a wide range of mathematical areas.
  4. [4]
    2025 Program SageMath - Google Summer of Code
    SageMath is a freely available open-source mathematical software system bundling the functionality of many software libraries, exposing their features in a ...<|control11|><|separator|>
  5. [5]
    [PDF] SAGE: System for Algebra and Geometry Experimentation - SageMath
    ∗This material is based upon work supported by the NSF under Grant No.0400386. 61. Page 2. SAGE: System for Algebra and Geometry Experimentation.
  6. [6]
    William Stein - CEO at CoCalc by SageMath, Inc. | LinkedIn
    Developed and taught pioneering courses in computational mathematics. Associate Professor of Mathematics (Tenured), University of Washington 2006 – 2010
  7. [7]
    [PDF] creating a viable open source alternative to Magma, Maple ...
    Jun 11, 2016 · To the organizers, the audience, and the BP job. William Stein (SMC) ... 2004: Problems: Magma is closed source, closed development model ...
  8. [8]
    FAQ: General - SageMath Documentation
    Started by William in 2005 during his time at Harvard University, Sage combines best-of-breed free open source mathematics software, packaging and unifying them ...Missing: origins founding
  9. [9]
    [PDF] William A. Stein Project Description
    The PI used $38,000 in funding from NSF grant (DMS-0555776) for the purchase of a 16-core computer with 64GB RAM that is the main home for SAGE development ...Missing: founding motivations
  10. [10]
  11. [11]
    Sage 4.0 released - mvngu - WordPress.com
    Jun 3, 2009 · Sage 4.0 was released on May 29, 2009. For all the changes in this version, please refer to the official, comprehensive release note or the ...
  12. [12]
    SageMath 9.0 and SageMath 9.1 - Google Groups
    Jul 31, 2020 · SageMath 9.0 was released on 2020-01-01. SageMath 9.1 was released on 2020-05-20. My apologies for not sending timely announcements. The ...Bug in the SageMath 9.0 Kernel when launching NotebooksSage 9.0 macOS Jupyter Server failed to start - Google GroupsMore results from groups.google.com
  13. [13]
    [PDF] Introduction into the CAS SageMath - CrypTool
    Jun 28, 2024 · ... (release date 2021-05-09) under Windows, 9.5. (release date 2022-01-30) under Linux, and 10.0 (release date 2023-05-23) under macOS. Page 45 ...
  14. [14]
    SageMath - Open-Source Mathematical Software System
    SageMath is a free open-source mathematics software system licensed under the GPL. It builds on top of many existing open-source packages.Why Sage? · Source tarball · Tour · Quickstart
  15. [15]
    Sage 10.8.beta8 released - Google Groups
    Oct 27, 2025 · We should soon start with a first release candidate. As always, you can get the latest beta version from the "develop" git branch. Alternatively ...Sage 10.8.beta1 releasedJust CrazyMore results from groups.google.com
  16. [16]
    GSoC - Sagemath Wiki
    Feb 28, 2025 · Google Summer of Code (GSoC) is a program for open source development. SageMath participates as a mentor, and has since 2008.
  17. [17]
    Where does CoCalc come from?
    Sep 10, 2018 · Sagemath Inc., the company behind CoCalc, is an independent Seattle based tech startup founded by William Stein in Feb 2015.<|control11|><|separator|>
  18. [18]
    SageMath 9.8 released; Sage development has migrated to GitHub
    Feb 11, 2023 · The new version 9.8 of SageMath was released on 2023-02-11. See https://github.com/sagemath/sage/wiki/Sage-9.8-Release-Tour for release notes.
  19. [19]
    Packages and Features - SageMath Documentation
    The Sage distribution includes most programs and libraries on which Sage depends. It installs them automatically if it does not find equivalent system packages.Missing: adoption | Show results with:adoption
  20. [20]
    The Sage Preparser - SageMath Documentation
    Preparse contents which is input from a file such as .sage files. Special attentions are given to numeric literals and load/attach file directives. Note.
  21. [21]
    Symbolic variables - Symbolic Calculus
    Create a symbolic variable with the name s. INPUT: args – a single string var('x y') , a list of strings var(['x','y']) , or multiple strings var('x', 'y') .
  22. [22]
    Programming - Tutorial - SageMath Documentation
    We illustrate how to load programs written in a separate file into Sage. Create a file called example.sage with the following content:Missing: core | Show results with:core
  23. [23]
    [PDF] PREP Tutorials - SageMath Documentation
    Apr 2, 2025 · Starting in Sage 8.0, the default is to provide the Jupyter notebook ... – See Evaluating in the Jupyter notebook for the Jupyter notebook.
  24. [24]
    The Sage Command Line - SageMath Documentation
    In this document, you'll find how the IPython integration works. You should also be familiar with the documentation for IPython. For more details about using ...Missing: user SageCell
  25. [25]
    Sage Cell Server - SageMath
    SageMathCell project is an easy-to-use web interface to a free open-source mathematics software system SageMath.Missing: preparser | Show results with:preparser
  26. [26]
    Reference Manual - SageMath Documentation
    SageMath documentation covers user interfaces, graphics, mathematics, linear algebra, calculus, analysis, probability, statistics, and mathematical structures.Graph Theory · Numerical Optimization · Packages and Features · Matroid TheoryMissing: stability algorithms
  27. [27]
    Parents, Conversion and Coercion - Tutorial
    In Sage, 'parent' identifies an element's structure. 'Conversion' is explicit, while 'coercion' is implicit, automatic conversion between parents.Missing: data | Show results with:data
  28. [28]
    The coercion model - SageMath Documentation
    The coercion model manages how elements of one parent relate to another, finding a common parent for operations, using coercions and conversions.Missing: automatic | Show results with:automatic
  29. [29]
  30. [30]
    maxima: System for manipulating symbolic and numerical expressions
    Maxima is a system for manipulating symbolic and numerical expressions, including differentiation, integration, and can plot functions and data.
  31. [31]
    r: A free software environment for statistical computing and graphics
    R is a language and environment for statistical computing and graphics. It is a GNU project which is similar to the S language and environment.
  32. [32]
    Packaging Third-Party Code for Sage - Developer Guide
    The installation of packages is done through a bash script located in SAGE_ROOT/build/bin/sage-spkg. This script is typically invoked by giving the command:Missing: adoption | Show results with:adoption
  33. [33]
    SciPy - Thematic Tutorials - SageMath Documentation
    scipy.integrate¶. This module has routines related to numerically solving ODE's and numerical integration. Lets give an example of using an ODE solver. Suppose ...Missing: probability R
  34. [34]
    Sage Quickstart for Statistics - PREP Tutorials
    Using R from within Sage​​ The R project is a leading software package for statistical analysis with widespread use in industry and academics.
  35. [35]
    PREP Tutorials - SageMath Documentation
    Quickstart Tutorials · Abstract Algebra · Differential Equations · Graph Theory/Discrete Math · Linear Algebra · Multivariable Calculus · Numerical Analysis ...
  36. [36]
    Sage for Undergraduates - Free Computer Books
    Title: Sage for Undergraduates ; Author(s) Gregory V. Bard, William Stein ; Publisher: American Mathematical Society (February 16, 2015) ; Permission: The author ...Missing: educational | Show results with:educational
  37. [37]
    Composing mathematical computational software and databases
    May 16, 2018 · In this blog post, we detail another use case with the computer algebra systems SageMath and Pari, but now with the mathematical database LMFDB in the mix.
  38. [38]
    Publications Citing SageMath
    Below is a list of publications that cite SageMath and/or the SageMath cluster. This list is also available in BibTeX format.
  39. [39]
    Success Stories, Testimonials and News Articles - SageMath
    SAGE makes it possible to study and use a huge range of mathematics, including algebra, calculus, number theory, graph theory, exact linear algebra, etc.Missing: notable achievements
  40. [40]
    Sagemath Wiki: SageWiki
    Aug 17, 2024 · This is a wiki for the Sage - Mathematics Software System project. There are other ThingsCalledSage. There is another Sage Wiki on GitHub.Missing: integration | Show results with:integration
  41. [41]
    Sage Days 22: Computing with Elliptic Curves - SLMath
    This workshop will introduce graduate students to several central ideas in the arithmetic of elliptic curves. Participants will join a project group that ...
  42. [42]
    Benchmarks - Utilities - SageMath Documentation
    sage.misc.benchmark.benchmark(n=-1)[source]¶. Run a well-chosen range of Sage commands and record the time it takes for each to run.
  43. [43]
    symbench - Sagemath Wiki
    Oct 20, 2022 · The Synthetic Symbolic Benchmark Suite. Here is where synthetic benchmarks go. These are made up because you abstract think they are good ...
  44. [44]
    flint: Fast Library for Number Theory - Packages and Features
    FLINT is a C library for doing number theory, maintained by Fredrik Johansson. Website: http://www.flintlib.org
  45. [45]
    Parallel Iterator built using Python's multiprocessing module
    Return a parallel iterator using a given number of processes implemented using pyprocessing. INPUT: OUTPUT: a (partially evaluated) function
  46. [46]
    Cached Functions and Methods - Utilities - SageMath Documentation
    Works similar to CachedFunction, but instead, we keep the cache on disk (optionally, we keep it in memory too). EXAMPLES: Sage. sage: from sage.misc.cachefunc ...
  47. [47]
    The Interactive Shell - Tutorial - SageMath Documentation
    The Sage interactive shell is a customized IPython shell, started with the `sage` command, where the session is the sequence of input and output.
  48. [48]
    sage-10.0.txt - SageMath
    Sage (http://www.sagemath.org) is developed by volunteers and combines hundreds of open source packages. The following 68 people contributed to this release. Of ...
  49. [49]
    Running Sage's Doctests - Developer Guide
    Sage also includes valgrind, and you can run doctests under various valgrind tools to track down memory issues: the relevant flags are --valgrind (or --memcheck ) ...Missing: improvements | Show results with:improvements
  50. [50]
    The Sage Project: Unifying Free Mathematical Software to Create a ...
    Aug 7, 2025 · http://www.sagemath.org. SAGE is a mathematical software package similar to the "big M's" (Maple, Mathematica, Magma, and Matlab) but free and ...
  51. [51]
  52. [52]
  53. [53]
    Interface to Magma - Interpreter Interfaces
    ### Summary of SageMath Interface to Magma
  54. [54]
    Numerical calculation speed: Sagemath vs. C vs. Matlab
    Oct 10, 2018 · Sage has numerical capapilities. In particular, it is interfaced with low-level numeric libraries that are as fast as any C code you could write yourself.
  55. [55]
    Install from Source Code - SageMath Documentation
    ... VERSION.txt SageMath version 10.3.beta8, Release Date: 2024-02-13. All worktrees created in this way share the same repository, so they have access to all ...
  56. [56]
    sage/COPYING.txt at develop · sagemath/sage
    **Summary of License Text from https://github.com/sagemath/sage/blob/develop/COPYING.txt:**
  57. [57]
    History and License - SageMath Documentation
    Sage was initially created by William Stein in 2004–2005, using Python, IPython, PARI, SWIG, Pyrex, NTL, and GMP. These programs are all open source and ...
  58. [58]
    sagemath - PyPI
    Sage is open-source math software, a standard Python library, and can be installed via pip using `sagemath-standard`.<|separator|>
  59. [59]
    sagemath/sage: Main repository of SageMath - GitHub
    Sage is open source mathematical software released under the GNU General Public Licence GPLv2+, and includes packages that have compatible software licenses.Issues 5k+ · Pull requests 488 · Discussions · ActionsMissing: Google Summer
  60. [60]
    Sage Installation Guide - SageMath Documentation
    See Launching SageMath for recommended next steps, in particular for setting up the Jupyter notebook, which is required if you want to use graphics. Linux¶. Do ...Install from Pre-Built Binaries · Install from Source Code · Launching SageMathMissing: 9.0 | Show results with:9.0
  61. [61]
    How to install Sagemath on Ubuntu 20.04?
    Mar 12, 2021 · That install takes a whopping 3.5 GB of disk space. Is all of that needed, or can a core subset be downloaded, perhaps via pip? nealmcb.Reducing size of Sage after building from source - Ask UbuntuHow to install SageMath in Ubuntu in 24.04?More results from askubuntu.comMissing: size | Show results with:size
  62. [62]
    sagemath-standard - PyPI
    SageMath fully supports all major Linux distributions, recent versions of macOS, and Windows (Windows Subsystem for Linux).
  63. [63]
    Sage math package, installation - Fedora Forum
    Mar 15, 2023 · Sage math package, installation. Fedora 37, up to date. dnf install sagemath all went well. Tried to run it. A script ran to 'set' env variables.Missing: Ubuntu native
  64. [64]
    Releases · 3-manifolds/Sage_macOS - GitHub
    SageMath-10.8 - Pre-release. Oct 6 · v2.8.0-beta · bcde255 · 3 ; SageMath-10.7 - v2.7.0. Apr 13 · v2.7.0 · bcde255 · 6 ; SageMath-10.6 - v2.6.0. Jan 27 · v2.6.0.
  65. [65]
    sage - Homebrew Formulae
    https://www.sagemath.org/. Cask JSON API: /api/cask/sage.json. Cask code: sage.rb on GitHub. Current version: 10.7,2.7.0. Requirements: macOS >= 10.15. Versions ...
  66. [66]
    Use SageMath Online - CoCalc
    The goal of SageMath is to create a viable free open source alternative to Magma, Maple, Mathematica and Matlab by building on top of many existing open-source ...
  67. [67]
    Download Binaries - SageMath
    Download Binaries. Note: Linux binaries have been discontinued. See the Installation guide for alternatives. Note: For the recommended macOS binaries see the ...
  68. [68]
    Install from conda-forge - SageMath Documentation
    SageMath can be installed on Linux and macOS via Conda from the conda-forge conda channel. Both the x86_64 (Intel) architecture and the arm64 / aarch64 ...
  69. [69]
    Docker Image - sagemath
    SageMath is a free open-source mathematics software system licensed under the GPL. ... licensed under the General Public License, version 3. More details can be ...
  70. [70]
    FAQ - SageMath Documentation
    With so many bugs in Sage and hundreds of open issues, why don't you produce a stabilization release? How can I download the Sage documentation to read it ...
  71. [71]
    Launching SageMath - Installation Guide
    This section quickly explains how to start the Sage console and the Jupyter Notebook from the command line.Missing: preparser SageCell