Why You Should Care about Sparse Matrices
summary
Dense 4x4 matrices use 16 units of storage and constant‑time indexing, but graphs and nearest‑neighbor meshes scale quadratically while informative entries grow linearly, so storage and runtime must be proportional to nonzeros. Using compressed sparse row removes zeros, adds column indices, and forces log time access via binary search; element lookup may need to return a value not a reference (can't return a reference). Best sparse libraries remain Fortran/C, and the C++ standard should allow sparse row/column accessors that iterate only nonzeros.
AI-written summary · about
chapters (11)
- 0:00Introduction
- 0:10Constant Time Access
- 0:35Memory By Row
- 0:45Constant Time
- 0:55Sparse matrices
- 1:28Practical examples
- 1:50Key considerations
- 2:14Squeeze out zeros
- 2:39Compressed sparse rows
- 3:04Efficiency
- 3:44Conclusion
related talks
19mOptimizations and abstractions for sparse machine learning
42mDimensionality Reduction Via Sparse Matrices
57mGraphBLAS: Building a C++ Matrix API for Graph Algorithms
40mSparse models are fast models: Improving DNN inference performance by over 10X
15mCompiling and Compressing Structured Tensors
28mRandomized Constrained Matrix Decompositions
32mRandomized Numerical Linear Algebra: Overview
44mScalable Algorithmic Primitives for Data Science
