Linear Algebra Package

Implements many common linear algebra functions in completely self-contained MATLAB code.
Updated 26 Feb 2014

View License

This Linear Algebra package implements a vast array of common linear algebra functions. This library is intended to be completely self-contained and instructive to the interested user. Therefore it is implemented solely in MATLAB .m file, contains no external calls to LAPACK, ARPACK, etc. or any non-trivial native MATLAB functions such as eig(), svd(), pinv(), etc., and is carefully documented to help the user understand what is happening "under the hood".
Linear Algebra Package currently supports the following functions:

1) myArnoldi - Arnoldi iteration
2) myCholesky - Cholesky decomposition
3) myCompanionMatrix - companion matrix of a polynomial
4) myCond - condition number
5) myDet - determinant
6) myEIG - eigenvalues/eigenvectors of a symmetric matrix
7) myEIGBalance - eigenvalue stabilizer
8) myEIGs - computes a few eigenvalues/eigenvectors
9) myHessHouseholder - householder reduction to Upper Hessenberg form
10) myImplicitTriQL - Implicitly shifted QL algorithm
11) myImplicitTriQR - Implicitly shifted QR algorithm
12) myInv - Matrix inversion
13) myInvIteration - Inverse Iteration (eigenvectors)
14) myKroneckerProduct - Kronecker product
15) myKroneckerSum - Kronecker sum
16) myLanczos - Lanczos iteration
17) myLanczosR - Lanczos iteration for rectangular matrices
18) myLU - LU decomposition
19) myNullspaceONB - basis for the nullspace of a matrix
20) myPInv - Moore-Penrose pseudoinverse
21) myQL - QL decomposition
22) myQR - QR decomposition
23) myRangeONB - basis for range of a matrix
24) myRank - rank of a matrix
25) myRoots - roots of a polynomial
26) mySPDInv - inverse of a symmetric, positive definite matrix
27) mySPDSqrt - matrix square root of a symmetric, positive definite matrix
28) mySqrt - matrix square root of an arbitrary matrix
29) mySVD - singular value decomposition
30) mySVDc - complex-valued singular value decomposition
31) mySVDs - returns a few singular values/vectors
32) mySymEigHist - Eigenvalue histogram of a matrix
33) myTriBisection - (Eigenvalue) bisection applied for a tridiagonal matrix
34) myTriDiagDet - Determinant of a tridiagonal matrix
35) myTriDiagHouseholder - Householder reduction to tridiagonal form
36) myTriInv - Inverse of a triangular matrix
37) myTriSysSol - Solves a tridiagonal system of equations
38) myUD - UD decomposition
39) myUnitTriInv - Inverse of a unit triangular matrix
40) myUnitTriSysSol - Solves triangular systems of equations

Cite As

Brian Moore (2024). Linear Algebra Package (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2009a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Find more on General Linear Algebra Content in Help Center and MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes

Updating SafeDistance function in mySVD.m, myImplicitTriQL.m, and myImplicitTriQL.m

Adding matrix square root functions - mySPDSqrt() and mySqrt()

Adding support for QL decomposition, myQL(), and complex-valued singular value decomposition, mySVDc()