Global Virtual Sage Days 112.358
An online event on open-source mathematical software with the SageMath users and developers around the globe
The fully virtual event will take place June 1–3, 2022, during the 50 hours when it is June 2, 2022 in some timezone in the world:
Beginning: Wednesday, June 1, 2022, 10:00 (morning) GMT,
- ... which is June 2, 2022, 00:00 Kiribati time (UTC+14),
End: Friday, June 3, 2022, 11:59 (noon) GMT,
- ... which is June 2, 2022, 23:59 Baker Island time (UTC-12).
Sage Days are gatherings of people interested in SageMath, from newcomers to contributors. Sage Days have been organized as local, regional, or international in-person meetings by a wide range of people around the globe. Because of the ongoing global health crisis, Sage Days 112.358 (why this number?) will be a fully virtual event following the model of Sage Days 109 and Sage Days 110
Global Virtual Sage Days 112.358
- About SageMath
- How to register and participate
- Schedule, videos, and talk slides
SageMath, or Sage for short, is a mature, comprehensive, free (open-source) mathematics software system based on Python, licensed under the GNU General Public License, that integrates computer algebra facilities and general computational packages.
Sage, first released in 2005, in over a decade of incubation in the SageMath distribution, comprising 293 software packages, has grown its own library of 1000 Cython and over 4400 Python modules, ranging from sage.algebras.* over sage.geometry.* to sage.tensor.*, with a total of over 2.2 million lines of code.
How to register and participate
Registration: Post a message with your name and affiliation in our zulip #sd112.358 Registration topic.
Join our zulip #sd112.358 messaging stream. This stream will contain all of the information regarding the talks and events for Sage Days 112.358.
Video conferencing: We will primarily be using Zoom.
- Details, how to access: will be announced on the Zulip stream.
Schedule, videos, and talk slides
The detailed schedule, title, abstracts, videos, and supplementary materials of the talks are found on researchseminars.org.
Session 1: Introduction
Wednesday June 1, 14:45–15:45 UTC. Session chair: Jean-Philippe Labbé
Blaec Bejarano, Harald Schilly, Hal Snyder, William Stein (SageMath, Inc.): Ways to Use Sage in CoCalc. We will give a demo of many different ways to use SageMath from within the collaborative computing platform CoCalc.com. These include Jupyter notebooks, the command line, editing .sage files, SageTeX (as part of LaTeX), Sage worksheets, RMarkdown, and whiteboards.
Session 2: Fresh Numerics from Upstream
Wednesday June 1, 16:00–18:45 UTC. Session chair: Matthias Köppe
Steven Diamond: CVXPY. CVXPY is a domain-specific language for convex optimization embedded in Python. It allows the user to express convex optimization problems in a natural syntax that follows the math, rather than in the restrictive standard form required by solvers. CVXPY has been used in hundreds of research projects and by Fortune 500 companies. In this talk, we will show how easy it is to formulate and solve optimization problems with CVXPY through example applications in finance and renewable energy. We will also highlight exciting recent work building on CVXPY.
Julian Hall: HiGHS: The world's best open-source linear optimization software—coming to SageMath! HiGHS is open-source linear optimization software developed by Hall and Edinburgh PhD students over the past six years. It solves large-scale sparse linear programming (LP) problems (using simplex and interior point methods), mixed-integer programming (MIP) problems and quadratic programming (QP) problems. Its overall performance on Mittelmann's benchmarks places it clearly ahead of any other open-source linear optimization software. This talk will introduce some of the techniques underpinning HiGHS, the environment in which it can be used, and its performance. In the world of software interfaces, HiGHS provides the LP and MIP solvers in the SciPy system, and is the open-source solver of choice in the popular modern Julia-based modelling and optimization system JuMP. The prospects for its integration into SageMath will be discussed.
Nina Miolane: Geomstats—a Python package for differential geometry in statistics and machine learning. We introduce Geomstats, an open-source Python package for computations and statistics on nonlinear manifolds that appear in machine learning applications, such as: hyperbolic spaces, spaces of symmetric positive definite matrices, Lie groups of transformations, and many more. We provide object-oriented and extensively unit-tested implementations. Manifolds come equipped with families of Riemannian metrics with associated exponential and logarithmic maps, geodesics, and parallel transport. Statistics and learning algorithms provide methods for estimation, clustering, and dimension reduction on manifolds. All associated operations provide support for different execution backends—namely NumPy, Autograd, PyTorch, and TensorFlow. This talk presents the package, compares it with related libraries, and provides relevant examples. We show that Geomstats provides reliable building blocks to both foster research in differential geometry and statistics and democratize the use of (Riemannian) geometry in statistics and machine learning. The source code is freely available under the MIT license at https://github.com/geomstats/geomstats.
Session 3: Sage Modularization and Packaging Summit
Wednesday June 1, 19:00–23:59 UTC
Sage user packages: Packaging, continuous testing, and integration in the Sage distribution
- Discussion and hands-on activity (bring your packages!)
Organizers: Vincent Delecroix, Jonathan Kliem, Matthias Köppe
References: https://github.com/sagemath/sage/issues/31164, https://github.com/fredstro/hilbertmodgroup/issues/5
Matthias Köppe: The way to a fully modularized Sage library 10.0. In May 2020, I proposed to modularize the Sage library by means of PEP 420 implicit namespace packages. I will give an overview of the status of this project 2 years and 200 Trac tickets later, and give a roadmap to the completion of the project as the proposed milestone goal for Sage 10.0.
Ticket review session
Downstream packaging forum
Session 4: Visualization and Local Connections
Thursday June 2, 06:00–12:00 UTC. Session chairs: Jean-Philippe Labbé; local organizers
Meeting of Sage users in Korea
- Sage users in Korea will get together and chat over installing, using, and developing Sage.
Schedule: 2 hours beginning Thursday, June 2, 2022, 06:00 UTC
- which is June 2, 2022, 3 PM Korea Standard Time (UTC+9)
- For the purpose of the meeting, the primary language will be Korean. Don't be embarrassed upon entry.
Zoom invitation link: https://us06web.zoom.us/j/9401552754?pwd=SjFFWXVUZnNjM0xwY3FYVG5DVGtFZz09
Organizer: Kwankyu Lee
Tiantian Liu (Taichi graphics): A hands-on tutorial of the Taichi Programming Language. In this talk, we will deliver a hands-on tutorial on Taichi programming language -- a new programming language designed for performance-aware computer graphics developers. Taichi was designed with productivity and portability in mind: Taichi programmers code in a Python-like syntax, and then the Taichi compiler emits high-performance executable kernels on CPUs (e.g., x64, ARM64) and GPUs (e.g., CUDA, Apple Metal, and OpenGL). We will systematically cover the Taichi concepts such as its basic syntax, defining data structures, writing high-performance Taichi kernels, differentiable programming, and debugging etc. We will also talk about programming tools to improve the reusability of Taichi programs. We hope Taichi and this 45-minute presentation can reduce the engineering burden on both beginner coders, as well as experienced practitioners in high-performance software development.
- Schedule: 2 hours beginning Thursday, June 2, 2022, 08:00 UTC
- which is June 2, 2022, 10 am to 12 noon Central European Summer Time (UTC+2)
Sébastien Labbé will present the new TikzPicture functionality in Sage 9.6: Jupyter notebook TikzPicture module demo.
- The presentation will be followed by coding sprints starting by a "tour de table" where everyone announce their objective for the session.
- Schedule: 2 hours beginning Thursday, June 2, 2022, 08:00 UTC
Hao Chen: Why I turned to Mathematica (sorry) to plot minimal surfaces. I will introduce the general procedure to plot minimal surfaces from Weierstrass data. For this purpose, I will present two examples from recent works: One is a deformation of the Gyroid, the other is related to vortices in 2D fluids. As a former Sage user, I had to turn to Mathematica for this task because of the heavy use of special functions and numeric integrals. In the future, I would like to see an open-source implementation of the procedure with a performance comparable to Mathematica.
Session 5: SageMath Developer Community and Google Summer of Code
Thursday June 2, 14:45–18:00 UTC. Session chair: Yuan Zhou
Canceled: Tobias Diez: New developer tools for Sage. I give an overview and demonstration of some recently introduced developer tools: Github Action Workflows complementing the existing Sagebot test infrastructure, and Gitpod serving as a (remote) developer environment for ticket reviews and as a main development infrastructure.
Award Ceremony: Annual Spies SageMath Development Prize
- The prize committee: William Stein, Eric Gourgoulhon, John Cremona, Karl-Dieter Crisman, Samuel Lelièvre
Onboarding session for new SageMath developers
Reports from GSoC 2021 projects
Linden Disney-Hogg: Rigorous integration and the Abel--Jacobi map. The Abel–Jacobi map is an important construction in algebraic geometry, including its application to the theory of integrable systems. I will give an overview of a recent implementation of the map in Sage, including some work on improving the integration required, highlighting current uses and future extensions.
David Ayotte: Implementation of the Graded Ring of Quasimodular Forms. The goal of this talk is to explain how quasimodular forms were implemented into SageMath. We will first give a brief review of the theory of (quasi)modular forms and we will explain how the implementation works. Next a quick demo will be showcased. Lastly, further developments to the code will be discussed. )
Trevor Karn: G-invariants of the Orlik–Solomon and Orlik–Terao algebras In this talk I will give examples and a description of how we implemented G-invariants of a finite group G in Sage. Specific examples will include the Orlik-Solomon algebra of a matroid which was the motivating example for the project.
Session 6: Symbolic System Symposium
Thursday June 2, 18:00–23:59 UTC. Session chair: Matthias Köppe
Yuan Zhou: Solid angles of polyhedral cones via decompositions and power series. We study the solid angle measure of a polyhedral cone. This is well understood in dimensions two and three. For higher dimensions, the measure can be computed via a multivariable hypergeometric series, as long as certain positive-definiteness condition is satisfied. We present two decomposition methods of full-dimensional simplicial cones into finite families of cones satisfying the positive-definite criterion. We present the SageMath implementation of the proposed solid angle computations. This is a joint work with Allison Fitisone.
Fredrik Johansson: FLINT: Fast Library for Number Theory. FLINT is a C library used in Sage and several other projects to provide fast arithmetic in various rings as well as efficient implementations of number theoretic functions. This talk will give an overview of FLINT and some descendants projects (Antic, Arb, Calcium), present recent work, and discuss ongoing and future development.
Aaron Meurer, Oscar Benjamin: SymPy. This talk will go over the SymPy library, some of the recent developments, and plans for the future.
Gereon Kremer: Satisfiability Modulo Theories for Arithmetic Problems. Satisfiability Modulo Theories (SMT) solving has grown to be a very successful solving paradigm, powering software and hardware verification, symbolic execution, test-case generation, synthesis, planning, scheduling and optimization tasks. One of the theories in SMT solving is nonlinear real arithmetic which opens immediate connections to the computer algebra community that has long known this theory as the theory of the reals. This talk presents approaches for this theory that are used in the SMT community and discusses some existing and possible future collaboration between the SMT and computer algebra communities.
Discussion: Landscape of symbolic equation solver interfaces, symbolic assumption facilities
Session 7: Sage Teaching Forum
Friday June 3, 11:00–11:59 UTC. Session chair: Jean-Philippe Labbé
Ingo Dahn: Teaching with SageMath—a German Higher Education Perspective. SageMath—and similar systems—are currently used for teaching at German universities just by a few pioneers. The talk explains the particular reasons for this situation and analyzes, which properties of the SageMath ecosystem, with SageMath, SageCell, CoCalc and Docker-CoCalc, facilitate a further uptake. The Virtual Campus of the German Land Rhineland-Palatine (VCRP) is determined to support the use of the potential of digital media for the improvement of teaching and learning at the public universities of the land. In particular, some SageMath-based services are provided to support the work of the aforementioned pioneers, to learn from their experiences and to lower the barriers for other staff members for realizing SageMath’s potential for innovative STEM teaching. These services, some of which are available as Open Educational Resources, will be described in the talk. Finally, some improvements for SageMath are suggested that would further ease its use for teaching. Contact: [email protected]
- Open discussion
Matthias Köppe (UC Davis)
Jean-Philippe Labbé (ÉTS, Montréal)
Yuan Zhou (University of Kentucky)
You can also join the Zulip #sd112.358 stream to contact the organization team.