Taking Vector Transposes Seriously | Jiahao Chen | JuliaCon 2017
The Julia Programming Language3 HN recommenders · 2018–2022
7K views · talk · evergreen · Uploaded 2017-07-17
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.
Strongly recommended for anyone working with vectors for its clear take on how they should be treated in types.
9:52Vectors | Chapter 1, Essence of linear algebra
3Blue1Brown
49:55How Python was Shaped by leaky Internals, Armin Ronacher, Flask framework
Видео с мероприятий {speach!
19:42But what is the Fourier Transform? A visual introduction.
3Blue1Brown
39:49Lec 1 | MIT 18.06 Linear Algebra, Spring 2005
MIT OpenCourseWare
46:09Why Isn't Functional Programming the Norm? – Richard Feldman
Metosin
1:03:29Maybe Not - Rich Hickey
ClojureTV
7:48Conway's Game Of Life in APL
Dyalog
1:12:56Lecture 1A | MIT 6.001 Structure and Interpretation, 1986
MIT OpenCourseWare
5 comments from Hacker News
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]
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]
> 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.
If you will do a lot of matrix stuff you might want to listen to [VIDEO] taking Vector Transpose Seriously
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.