Basics of Equality Saturation
3 days ago
- #egglog
- #linear algebra
- #optimization
- Introduction to building an optimizer for linear algebra using egglog.
- Initial DSL supports constants, variables, addition, and multiplication.
- Defining Num class with operations like addition and multiplication.
- Support for inverse operations and type conversions for ease of use.
- Creating simple expressions and checking their properties in the e-graph.
- Defining rewrite rules for commutativity and associativity of addition and multiplication.
- Explanation of how rules are applied and their limitations.
- Running rules for constant folding over addition and multiplication.
- Demonstration of how expressions become equivalent after running rules.