Description
Pattern matching is a powerful tool for symbolic computations, based on the well-defined theory of term rewriting systems. Application domains include algebraic expressions, abstract syntax trees or XML and JSON data. Unfortunately, no implementations of pattern matching as general and flexible as in Mathematica exists for Python. In this talk, we introduce the open source module MatchPy (https://github.com/HPAC/matchpy), which offers this functionality in Python. In addition, we implemented a novel algorithm which finds matches for large pattern sets more efficiently by exploiting similarities between patterns. We will demonstrate how MatchPy can be used with example from the linear algebra domain.