Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
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.