I❤️LA: Compilable Markdown for Linear Algebra

Yong Li, Shoaib Kamil, Alec Jacobson, Yotam Gingold

In-Browser Compiler (Chrome or Firefox, not Safari)

Language Reference

Code: GitHub

Paper: Transactions on Graphics (SIGGRAPH Asia 2021) [PDF 9 MB]

Examples from the Wild

Integrating with Existing Code

Mathematical notation has evolved over centuries to efficiently communicate technical concepts such as the sparse graph Laplacian construction in the top left. Meanwhile, programming languages communicate with a machine typically with a reduced character set and syntax causing handwritten translation of mathematics to visually stray far from the “chalkboard math” and from each other.
I❤️LA is a novel domain specific language for linear algebra. The I❤️LA code written with rich Unicode symbols visually resembles chalkboard math, while still being a semantically well-defined programming language compilable to various target languages: LaTeX, MATLAB, Python, C++.

BibTeX (approximate):

 author    = {Li, Yong and Kamil, Shoaib and Jacobson, Alec and Gingold, Yotam},
 title     = {I Heart LA: Compilable Markdown for Linear Algebra},
 journal   = {ACM Transactions on Graphics (TOG)},
 volume    = {40},
 number    = {6},
 year      = {2021},
 month     = dec,
 keywords  = {linear algebra, mathematical input, domain-specific language, compiler, scientific computing}