Taking Vector Transposes Seriously | Jiahao Chen | JuliaCon 2017
The Julia Programming Language3 HN recommenders · recommended in 5 months, 2018-2022
7K views · 9 years ago · talk · evergreen
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.
1:04:53Julia: to Lisp or not to Lisp?
European Lisp Symposium
24K views • 10 years ago
1:03:34Simon Peyton Jones - Linear Haskell: practical linearity in a higher-order polymorphic language
Curry On!
19K views • 8 years ago
35:24The Unreasonable Effectiveness of Multiple Dispatch | Stefan Karpinski | JuliaCon 2019
The Julia Programming Language
79K views • 7 years ago
1:11:42ElixirConf 2023 - José Valim - The foundations of the Elixir type system
ElixirConf
38K views • 3 years ago
9:52Vectors | Chapter 1, Essence of linear algebra
3Blue1Brown
13M views • 10 years ago
1:04:35The Algebra of Algebraic Data Types
London Haskell
27K views • 13 years ago
1:01:04Introduction to Julia - Part 1 | SciPy 2014 | David Sanders
Enthought
80K views • 12 years ago
30:40What's Bad About Julia | Jeff Bezanson | JuliaCon 2019
The Julia Programming Language
37K views • 7 years ago
59:03Breaking Down Programming Paradigms: APL's Surprising Learning Curve // Aaron Hsu // Dyalog '17
Dyalog User Meetings
7K views • 9 years ago
56:58Philip Wadler - Propositions as Types (Lambda Days 2016)
Erlang Solutions
20K views • 10 years ago
51:16Why can't you multiply vectors?
Freya Holmér
524K views • 3 years ago
40:20"Shen: A Sufficiently Advanced Lisp" by Aditya Siram
Strange Loop Conference
26K views • 12 years ago
39:40"Type-Driven Program Synthesis" by Nadia Polikarpova
Strange Loop Conference
15K views • 8 years ago
40:15Bringing Types to Elixir by Giuseppe Castagna and Guillaume Duboc | ElixirConf EU 2023
Code Sync
7K views • 3 years ago
59:04On the Expressive Power of Programming Languages by Shriram Krishnamurthi [PWLConf 2019]
PapersWeLove
27K views • 7 years ago
54:31Does APL Need a Type System? by Aaron W Hsu at #FnConf18
ConfEngine
6K views • 7 years ago
52:40Keynote. Professor Steven G. Johnson | JuliaCon 2019
The Julia Programming Language
18K views • 7 years ago
32:10Robert Moss: Julia and the Next Generation Airborne Collision Avoidance System
The Julia Programming Language
4K views • 11 years ago
1:07:22Invited Talk - Guy Steele
ClojureTV
39K views • 9 years ago
50:49Domain Modeling Made Functional - Scott Wlaschin - KanDDDinsky 2019
KanDDDinsky
74K views • 6 years ago
5 comments from Hacker News
If you want a great video on the topic, see ▶ this video Or equivalently link There are basically two self-consistent choices for the design of linear algebra libraries.
If you will do a lot of matrix stuff you might want to listen to ▶ this video taking Vector Transpose Seriously
> 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: ▶ this 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.
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: ▶ this video
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. ▶ this video