Linear Algebra Algorithms Taxonomy
Based on "Matrix Computations" by Golub & Van Loan and "Numerical Linear Algebra" by Trefethen & Bau
Download Instructions: Copy this entire document and save it as a .md file (e.g., linear_algebra_taxonomy.md)
Code Examples Legend
- 🐍 Python implementations
- 💎 Ruby implementations
- 📚 Educational/tutorial resources
- 🏭 Production-ready libraries
Table of Contents
- Basic Vector and Matrix Operations
- Linear System Solution Algorithms
- Eigenvalue and Singular Value Algorithms
- Matrix Decomposition and Factorization
- Numerical Linear Algebra Infrastructure
- Advanced and Specialized Algorithms
- Additional Resources
I. Basic Vector and Matrix Operations
Vector Operations
Matrix-Vector Operations
Matrix-Matrix Operations
II. Linear System Solution Algorithms
Direct Methods - Gaussian Elimination Family
Direct Methods - Cholesky Family
Iterative Methods - Basic
Iterative Methods - Krylov Subspace
III. Eigenvalue and Singular Value Algorithms
Eigenvalue Methods
SVD Methods
IV. Matrix Decomposition and Factorization Algorithms
QR Decomposition
Least Squares
V. Numerical Linear Algebra Infrastructure
BLAS (Basic Linear Algebra Subprograms)
LAPACK Routines
VI. Advanced and Specialized Algorithms
Matrix Functions
Structured Matrices
Randomized Linear Algebra
Additional Resources
Comprehensive Libraries
Python Ecosystem 🐍
Ruby Ecosystem 💎
Educational Resources 📚
Python
Ruby
Textbook References 📖
- "Matrix Computations" by Gene H. Golub and Charles F. Van Loan
- "Numerical Linear Algebra" by Lloyd N. Trefethen and David Bau III
- "Applied Numerical Linear Algebra" by James W. Demmel
- "Iterative Methods for Sparse Linear Systems" by Yousef Saad
Performance Libraries 🏭
- Intel MKL - Optimized BLAS/LAPACK
- OpenBLAS - Open source BLAS
- ATLAS - Automatically Tuned Linear Algebra Software
- cuBLAS - GPU-accelerated BLAS (NVIDIA)
How to Use This Document
For Learners
- Start with Section I for basic operations
- Progress to Section II for solving linear systems
- Study Section III for eigenvalue problems
- Explore advanced topics in Sections IV-VI
For Practitioners
- Use the table format to quickly find implementations
- Compare Python and Ruby approaches
- Reference production libraries for actual work
- Use educational links for understanding algorithms
For Researchers
- Check textbook references for theoretical foundations
- Explore specialized algorithms in Section VI
- Review performance-oriented implementations
- Consider contributing to open-source projects
License: This taxonomy is provided for educational purposes. Individual implementations are subject to their respective licenses.
Last Updated: December 2024
Contributors Welcome: Submit issues or pull requests to improve this taxonomy.