Functional Linear Algebra in Scala
summary
Claims a type-safe, functional linear-algebra layer in Scala that prevents mixing dimensions at compile time, finds real bugs, and supports practical PCA and nonlinear Sammon-style embedding. Implements path-dependent vector spaces and matrices as morphisms with domain/codomain, represents vectors as either functions or Java arrays, and runs PCA then Sammon mapping on a 16,000-word cloud producing a ~256M-entry distance matrix (~0.5–1 GB). For speed, it pushes inner loops into a Java-backed array ops layer to avoid boxing, yielding multiple-times speedups versus naïve Scala while keeping a clean API.
AI-written summary · about
chapters (19)
- 0:00Introduction
- 1:06The Paradise
- 4:01How to represent vectors
- 4:46Types of vectors
- 5:24Path dependent types
- 5:49Vector space
- 6:44Vector implementation
- 7:26Mixed dimensions
- 8:11PCA principle
- 9:02Component analysis
- 10:35Matrix representation
- 11:31Matrix method
- 14:38Cross
- 15:18Dimension Reduction
- 16:52Algorithm
- 18:53Mutability
- 19:57Performance
- 22:09Java
- 23:32Questions
related talks
34mFunctional Programming + Dependent Types ≡ Verified Linear..
40mFunctional Programming for Machine Learning and Data Pipelines
49mMining Functional Patterns
52mFunctional Patterns in Domain Modeling
21mFP for Data Science For Loops Considered Harmful
34mPatterns of a pragmatic functional architecture
02h 49mFrom Java to Scala 3, from Lambdas to Functional Programming: More Readable, More Expl...
01h 00mWhat The Functional Programming
