Linear Algebra as Spreadsheet
Thanks to Garth Goldwater for a lot of the ideas here
The metaphor isn't mine. But it's a good one!
Is there an intrinsic reason MATLABesque tasks can't be as WYSIWYG as a spreadsheet?
— Max Krieger (@maxkriegers) April 5, 2020
How do you represent matrix multiplication in a graphical environment? I want to drag and drop my eigendecomposition as tangibly as a sort operation.
Some tools on the way to supporting the magical, playful mode of waves:https://t.co/fa5Sunkwhhhttps://t.co/FQKTRWzyje
— Max Krieger (@maxkriegers) September 16, 2020
and the unimplemented direct manipulation APLspreadsheetincantation environment of my dreams https://t.co/TFxhVS1UIq
So I was wondering why nobody took it literally.
When you're manipulating matrices, you [often] lose track of, "what am I doing? what does this mean?" I've got this funny matrix, I multiply it by a vector, what was this supposed to do?
 Keenan Crane, Discrete Exterior Calculus
I can't find any existing direct manipulation interfaces to perform linear algebra on raw data. Stuff like eigendecomposition or factorization. Or constructing proofs of SVD.
The key, I think, is to map the language of linear algebra to an interaction semantics for linear algebra (theory.interactionsemantics).
Here's what I have found:
Excel!?
Sure I guess?
APL Is Really Cool
Aesthetics
"What's my name jack?" in Toki Pona. Some sort of MS Paint adventures thing. No idea what it means. I think I got it from a toki pona subreddit.
other
 What if there was a set of flashcards to learn all the APL symbols? Like Elixir Cards/PixelSpirit.
One subproject (theory.subprojecting) is not APL, but some CAS matrix toy  "Linearkit".
 Nicky Case's transformation matrix toy
Direct manipulation refs
 2d
isolate a data column by dragging it out of the table. also got a little semantic text editing going pic.twitter.com/ZW6ukuk2UK
— Paul Shen (@_paulshen) March 2, 2021
 WebGL State Diagram  the "cells" are pointers
 Maybe each matrix is a floating table and you can multiply by constructing a graph of edges?
 Graphical Linear Algebra
 Graspable Math
 Mito: Edit a spreadsheet. Generate Python. All in Jupyter.
 Responsive Matrix Cells: A Focus+Context Approach for Multivariate Graphs
 Loglo
 Math Inspector

Math inspector makes it easy for anyone to leverage the power of numpy, the most popular computational mathematics library in the world, without needing to know anything about programming or writing any code. “If watching math videos is like going to the movies instead of reading a book, then math inspector is like playing a video game instead of doing your homework.”

 Interactivity of Visual Mathematical Representations: Factors Affecting Learning and Cognitive Processes (pdf)
Semantics refs
 Graphical Linear Algebra
 An Illustrated Guide to Arquero Verbs / UW Interactive Data Lab / Observable
 A Grammar of Data Manipulation • dplyr
 "Verbnoun vs nounverb"
 Thoughts on how to find alternate algebralike systems
 Named tensor notation
Every right click transformation (eg transpose, get eigens) is not inplace but is placed somewhere else in space, immutable copy, like Paul Shen's systems.
Applications
 Learning, proving, playing
 graphics pipelines (in 2d case of env layout)
 statistics
 DSP (vision  convolutions, audio)
 ML
Why?
 Not sure.
 Might be internalized trauma taking linear algebra without something that feels nice to use (rethinkingmedia.microworldlanguages).
 Practitioners make numpy mistakes a lot I bet
 How do you communicate intuition about powerful ideas in linalg? Are pictures the best we have? What about the algebra, and the data embedded in every matrix?
 The semantics of Linear Algebra are pretty welldefined I think? That's why it's an algebra, right?
 I want to do casual mathematics
 Linear Algebra can model a lot of other domains of math. Not to mention it's pretty useful for physics. So maybe the interface paradigm can be juiced into domainspecific applications (theory.juicing, theory.bottomup).