Mar 17 – 28, 2025
Europe/Berlin timezone

Computer algebra and Symbolica

Deeper course for theoretical phycisists

Computer algebra and Symbolicambolica

Ben Ruijl (Ruijl Research)

Abstract

When doing computations with pen and paper, we often rely on heuristics. We all know (without applying an algorithm) that 2/4=1/2, we can guess the factorization of x^2+3x+2, and we learned the integral of 1/(x^2+1) by heart. But how would you instruct a computer to perform these operations reliably? In this two-part lecture, we will focus on describing mathematical domains (such as rings and fields) in computer code and we will sketch algorithms to perform common operations. We will also encounter the largest obstacle in computer algebra: intermediate expression swell.

 

The second part is an overview and tutorial of the symbolic-numeric computation framework Symbolica (https://symbolica.io), which can be used as a library in Python and Rust. We will discuss several design aspects, expression manipulation, pattern matching, computational graphs and fast expression evaluation.