Explore the power of Symbolics.jl, a package for computer-algebra-based metaprogramming in Julia, in this 37-minute conference talk from Strange Loop 2022. Discover how multiple-dispatch is used to trace numerical code and produce symbolic expressions, which can then be converted back into Julia code. Learn about the package's capabilities in code transformation, including removal of intermediate allocations and generation of multithreaded code. Delve into automatic differentiation of R^n to R^m functions, and how symbolic techniques enhance performance through precomputation of jacobian and hessian sparsity. Examine the O(1)-size representation of array operations and stencils, and understand the unified expression interface that separates concerns between expression manipulation code and representations. Witness demonstrations of an e-graph based simplifier and a rule-based simplifier working on various expression types. Presented by Shashi Gowda, a PhD candidate in Computational Science at MIT with 8 years of experience in Julia programming.
Overview
Syllabus
"Symbolic Numeric Programming in Julia" by Shashi Gowda (Strange Loop 2022)
Taught by
Strange Loop Conference