Fetching the latest programs, projects, and workspace data.

Open-source mathematics software system
Showing 5 of 42 projects. Click any project card for scope, mentors, and proposal studio.
Mentors: Student: Madhu Sripada
Problem: SageMath's algebraic number fields (AA/QQbar) have performance bottlenecks in equality testing, arithmetic on high-degree numbers, and symbolic conversion—limitations that affect users in number theory and algebraic geometry. Solution: Integrate FLINT's qqbar_t (Calcium module) as an optional high-performance backend. FLINT is already a Sage dependency, and Calcium provides optimized algebraic number algorithms with rigorous numerical enclosures. Approach: >Create Cython bindings for qqbar_t in sage/libs/flint/ >Implement AlgebraicNumber_flint element and AlgebraicField_flint parent classes in sage/rings/qqbar_flint.py >Ensure coercion compatibility with existing AA/QQbar >Deliver tests, benchmarks, and documentation Deliverables: >Complete Cython bindings for core qqbar_t operations >Drop-in replacement classes for AA and QQbar with full arithmetic and coercion >Test suite and performance benchmarks >User and developer documentation The new backend will be optional initially, enabling side-by-side comparison, with the potential to become the default after validation. This will make algebraic number computations in Sage faster and more robust.
Mentors: Student: Parth Chavan
SageMath's LazyCombinatorialSpecies framework (sage/rings/lazy_species.py) represents combinatorial species as lazy sequences of symmetric-group actions and supports molecular decompositions, generating series, and structure enumeration. Recent work in PR #41655 adds the Hadamard product, functorial composition, and arithmetic product at the level of molecular data, but these operations lack structure generation. The derivative operation is also missing entirely. This project will: (a) implement the derivative and multisort partial derivatives, with cycle index, generating series, and pointing methods (b) extend the Hadamard product and functorial composition to multisort species (c) systematically verify that weights propagate correctly across all operations (d) implement structures() and isotypes() methods for the derivative, Hadamard product, functorial composition, and (time permitting) the arithmetic product. Every new method will be verified against the existing _test_structures consistency checks. The project concludes with full documentation and a pull request.
Mentors: Student: Shriya Meenakshisundaram
SageMath currently has various examples of Hopf Algebras implemented, such as symmetric functions, quasisymmetric functions, word-quasisymmetric functions, etc. along with some of their bases. This Google Summer of Code project aims to implement an example of Hopf Algebras- the supersymmetric functions along with bases such as (double) powersum, elementary, homogeneous and Schur supersymmetric functions. The addition of supersymmetric functions and these bases would aid in research computation of their characterization and combinatorial interpretation.
Mentors: Student: Dogukan Bingol
Edge-disjoint spanning arborescences are a fundamental structure in directed graph theory, with applications in connectivity and network design. SageMath currently relies on Mixed Integer Linear Programming (MILP) to compute them, which can be slow on complex instances and depends on external solvers. This project will add a native combinatorial backend based on Gabow’s algorithm, implemented in Cython and integrated into SageMath’s public API. Deliverables include validation tools, randomized regression tests, documentation, and performance benchmarks against the existing MILP-based implementation.
Mentors: Student: Yuxuan Sun
This project implements the combinatorial Hopf algebra of double posets. A double poset is a set with two partial orders, and their isomorphism classes form the basis of a graded Hopf algebra \(\mathbb{Z}\mathbf{D}\), equipped with a bilinear pairing via \emph{pictures}. The implementation includes a \texttt{DoublePoset} class, picture counting, and the bialgebra structure using Sage’s \texttt{Bialgebra} framework. It also defines a homomorphism to quasisymmetric functions via \(\pi\)-partitions, supports internal products, and develops the sub-bialgebra of special double posets mapping to permutations.