Link Search Menu Expand Document

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!

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?

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.interaction-semantics).

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

One subproject (theory.subprojecting) is not APL, but some CAS matrix toy - "Linearkit".

Direct manipulation refs

  • 2d

Forms/3

Semantics refs

Every right click transformation (eg transpose, get eigens) is not in-place 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 (rethinking-media.microworld-languages).
    • 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 well-defined 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 domain-specific applications (theory.juicing, theory.bottom-up).

Children

  1. APL Is Really Cool