Wrapping up MAST10022 Linear Algebra course (2023) by (trying to) automate algorithms involved in the subject.
Dependencies:
- numpy
Abstract classes used for blueprint of certain concepts, while common cases are implemented.
Topics covered:
- Field: Implemented Finite Prime, Real and Complex Field.
- Matrix (coupled with Field): All 3 row operations, Gaussian elimination, ref/rref form, rank, det, inverse supported for any field.
- Vectorspace: Abstract of VectorSpace + FiniteDimensionalVectorSpace. Supported check_finite_subspace, check_member, check_linear_indpendent, check_spanning_set, extended_basis, basis_from_spanning. Implemented RowSpace, ColSpace, and SolutionSpace.
- Linear Code: Support encode, decode (auto fixing at max 1 error), find hamming_distance, minimum_distance, max_error_detected, max_error_fixable.
- Linear Transformation: Abstraction + Implementations of simple geometric linear transformation (stretch, reflect, shear, rotate): R2 -> R2
- Eigenvalues, eigenvectors & eigenspace: TBC
- Diagonalisation & Fast power of diagonalisable matrix: TBC
- Inner product (including matrix form): TBC
- Gramm-Schmidt & orthogonal projection: TBC
- Linear Regression: Compute the linear combination of
given inputs
which produce outputs that minmize squared error withgiven outputs
. Provide short-cut class for polynomials fit on R2. - Orthogonal diagonalisation (& Conic sections): TBC
- Unitarily diagonalisation: TBC
Might cover as a bit unrelated :D
- Euclidean R3 geometry: TBC