
Taking Vector Transposes Seriously | Jiahao Chen | JuliaCon 2017
About this video
Jiahao Chen's JuliaCon 2017 talk argues that vector transposes should be taken seriously in type systems and linear algebra libraries. It explains why treating vectors as matrices causes trouble in languages.
Why it appears in the archive
Strongly recommended for anyone working with vectors for its clear take on how they should be treated in types.
AI-generated summary and labels from the source dataset; verify important details against the video. Source & credits.
From the Hacker News discussion
Addendum: Also really good is this video about how one should treat vectors and matrices in a type system. Has good lessons for python, R, and Matlab. Seriously anyone who does anything with vectors should watch this. [VIDEO]
Read original comment ↗> Purist test The short answer is. Yes, but if your PL treats it that way you will wind up in trouble [0]. The long answer is: [VIDEO] (but seriously take the time to watch this, it's fantastic). [0] Separately C- and often C-derived languages/frameworks like numpy also treat them as 1xN matrices, but that's a nearly tabs-vs-spaces level religious war, with actual consequences. I think a lot of people got confused when translating andrew ng's early octave-based ML coursera course (Nx1) to python (1xN), and also in the back and forth between math ML papers which use Nx1 and python.
Read original comment ↗I happened to be the other way, I learned first that matrices were linear transformations and, being thick-headed, it took me a really long time to understand that matrices could also be used as "dumb excel spreadsheets". there's a fantastic historiography of linear algebra and why we're stuck in this situation here: [VIDEO]
Read original comment ↗If you will do a lot of matrix stuff you might want to listen to [VIDEO] taking Vector Transpose Seriously
Read original comment ↗If you want a great video on the topic, see [VIDEO] Or equivalently [LINK] There are basically two self-consistent choices for the design of linear algebra libraries.
Read original comment ↗