  Communicating linear algebra in written form is challenging: mathematicians
must choose between writing in languages that produce well-formatted but
semantically-underdefined representations such as LaTeX; or languages with
well-defined semantics but notation unlike conventional math, such as
C++/Eigen. In both cases, the underlying linear algebra is obfuscated by the
requirements of esoteric language syntax (as in LaTeX) or awkward APIs due to
language semantics (as in C++). The gap between representations results in
communication challenges, including underspecified and irreproducible research
results, difficulty teaching math concepts underlying complex numerical code,
as well as repeated, redundant, and error-prone translations from communicated
linear algebra to executable code. We introduce I$\heartsuit$LA, a language
with syntax designed to closely mimic conventionally-written linear algebra,
while still ensuring an unambiguous, compilable interpretation. Inspired by
Markdown, a language for writing naturally-structured plain text files that
translate into valid HTML, I$\heartsuit$LA allows users to write linear algebra
in text form and compile the same source into LaTeX, C++/Eigen,
Python/NumPy/SciPy, and MATLAB, with easy extension to further math programming
environments. We outline the principles of our language design and highlight
design decisions that balance between readability and precise semantics, and
demonstrate through case studies the ability for I$\heartsuit$LA to bridge the
semantic gap between conventionally-written linear algebra and unambiguous
interpretation in math programming environments.
