
Explore linear algebra from matrix calculus to robotics, control systems, and computer graphics, through SVD, PCA, differential equations, inverses, determinants, and programming from MATLAB to Python.
Explore solving linear systems by forming the matrix A, vector x, and right-hand side b, and apply the column method for matrix-vector multiplication, linking rows and columns in Ax=b.
Learn how linear combinations of a matrix's columns form B from a given X, and how X1 and X2 determine whether the columns span the plane.
Examine independence and dependence: in two dimensions, two vectors are independent if no nontrivial combination yields zero; in three dimensions, any vector is a linear combination of basis vectors.
Determine solvability by whether the right-hand side lies in the column space spanned by the matrix columns, i.e., in the plane defined by the vectors. Includes Matlab checks.
discover how the rank of a matrix, equal to the number of independent columns, governs solvability of rectangular systems across four cases and the dimension of the column space.
Investigate row-by-matrix multiplication, expressing products as linear combinations of matrix rows, and relate row operations to column actions through transposes.
Explain the standard dot product method for matrix multiplication, where each entry comes from a row times a column. Illustrate with a 2x2 example.
Compute the matrix product column by column using a linear combination of columns and matrix-vector multiplication; compare the original method with the column method, which was preferred.
Explore the row-by-row matrix multiplication method using linear combinations of rows to compute the result, with rows formed as A·E + B·G and C·E + D·G.
Explore the outer product method for matrix multiplication, expressing a product as a sum of column–row outer products, and contrast it with inner products that yield scalars.
Learn block multiplication for matrix multiplication by partitioning matrices into A, B and C, D, then compute AC plus BD, with dimension compatibility guiding the partitions.
Apply Gaussian elimination to solve linear systems using elementary row operations and pivots. Transform matrices into upper triangular form and use back substitution, with notes on LU decomposition.
Gaussian elimination with row exchanges places a nonzero pivot and zeros below it to form an upper triangular matrix; solve by substitution and verify with Matlab.
Demonstrate Gaussian elimination via matrix multiplication by constructing elementary operation matrices to zero elements, exchange rows, and realize row operations as left-multiplications, with E1 and E2 guiding the steps.
Use permutation and elimination matrices to swap rows and reach an upper triangular form, and show that right multiplication performs column operations, guiding toward the matrix inverse.
Explore the matrix inverse and its relation to the identity matrix, showing when a matrix is invertible and how column dependence and Gaussian elimination reveal a row of zeros.
Explore how to compute the inverse of elimination and permutation matrices using intuition and Python examples, verifying that E inverse returns the original matrix and B inverse equals B.
Apply the Gauss-Jordan method, via augmented matrix [A|I], to compute a matrix inverse by performing row operations until the left side becomes I, yielding the inverse on the right.
Learn to compute a matrix inverse through hand, python, and matlab examples using Jordan method and gaussian elimination, pivots, and identity matrix construction, while addressing floating point precision issues.
Explore when a matrix has an inverse or not, using Gaussian elimination and determinants to show a row of zeros means noninvertibility, and introduce the pseudo-inverse A+ for singular cases.
Explore how linear algebra enables computer graphics by using matrices for translations, rotations, scaling, and reflections, and learn how the GPU harnesses parallel matrix-vector multiplications to render real-time scenes.
Design a 3D model in model space, then transform it with model, view, and projection matrices to place it in world space and render from the camera view.
Learn to rotate a 2d vector by 90 degrees using a matrix that maps e1 to (0,1) and e2 to (-1,0), producing the rotation matrix [0 1; -1 0].
Rotate a vector by an arbitrary angle using a 2x2 rotation matrix, where cosine and sine form the columns and the inverse is the transpose.
Explore orthogonal matrices with unit, mutually perpendicular columns, where the inverse equals the transpose; multiplying the matrix by its transpose yields the identity.
This lecture covers 3d rotation about the x axis using a 3x3 rotation matrix for 90 degrees, and introduces general theta rotation about an axis.
Explore how the scaling matrix achieves uniform and non-uniform scaling of vectors, illustrated by the 2x2 matrix diag(2,2) and extended to 3D with a general scaling matrix.
Construct a general four by four translation matrix in three-dimensional space using homogeneous coordinates, explaining why vector-specific formulas fail and how four by four matrices enable translation, rotation, and scaling.
Explore why the order of two-dimensional transformations matters, comparing translation then rotation with rotation then translation, and examine uniform versus nonuniform scaling in matrix form.
Create a matrix to reflect vectors around the x axis, flipping the y component while keeping x unchanged; extend to 3d via 3x3 form for 180° rotation about x axis.
Reflect around an arbitrary line in 2d by decomposing vectors. Build the reflection matrix from these components and translate, reflect, translate back for lines not through origin.
Rotate the line to the x axis, reflect about it, then rotate back; derive the clockwise rotation matrix from the line's unit vector and compare with the earlier method.
Derive a 3d rotation matrix about an axis by projecting the vector V into parallel and perpendicular components and rotating the perpendicular by theta, using the right-hand rule for direction.
Derive a 3d rotation matrix about an arbitrary axis by translating to origin, rotating with alpha and gamma to align axes, applying theta, then reversing transforms and translating back.
Derive the 3d reflection around a plane using its unit normal n_hat to yield matrix R = I − 2 n_hat n_hat^T and the reflected vector V_r.
Explore rotation matrices and improper rotations, distinguishing proper rotations from rotation followed by reflection. Use determinants to detect handedness changes and orientation preservation.
Explore the math behind simulating a first-person camera, moving and rotating the scene, and building the view matrix as the inverse of the camera transformation.
Define the camera by its position, viewing direction, and up vector. Compute the right vector to build a three-dimensional rotation matrix and a four-by-four transformation with translation.
Learn how the look-at matrix is the inverse of its transpose for an orthogonal metric, and derive the camera view, up, and right vectors using cross products.
Learn hierarchical transformations and the scene graph, using parent child hierarchy to cascade translation and rotation matrices for cohesive movement, like a knight riding a horse and tires rotating.
Explore how forward transformation matrices enable changing reference frames in robotics, linking local joint frames to a global base frame. Describe end effector coordinates across rotations and translations.
Explore how to describe a robotic arm's end effector in global coordinates by transforming unit vectors between adjacent joint frames, and simplify frame representations step by step.
Move between coordinate frames by applying a 2d rotation and translation, and decompose the transformation into a pure rotation plus a pure translation using homogeneous coordinates.
Compute the 2D robotic arm transformation by constructing rotation and translation matrices between frames F2, F1, and F0, using homogeneous coordinates, then express the point in the base frame.
Generalize two-dimensional transformation matrices to three-dimensional space with four-by-four matrices, explain y-axis rotation and fixed translations, and show converting end-effector coordinates between base and successive frames.
Translate and rotate coordinates between reference frames using a composed matrix, then invert it to switch viewpoints; relate the resulting view matrix to camera transforms in computer graphics.
Explore eigenvalues and eigenvectors, the cornerstone of linear algebra, and see their applications in machine learning, data compression, control systems, calculus, difference and differential equations, and more.
Explore the interpretation of eigenvalues and eigenvectors, showing how certain vectors stay in the same direction and scale under matrix multiplication, with distinct eigenvalues for each eigenvector and square matrices.
Explore eigenvalues and eigenvectors through intuitive examples, from the identity matrix leaving all vectors unchanged with eigenvalue 1, to uniform and non-uniform scaling revealing direction-dependent values.
Explore how a diagonal matrix yields eigenvectors in the xy plane with eigenvalue eight and the z-axis with eigenvalue zero, contrasting with a rotation matrix whose eigenvalues may be complex.
Master the formal method to compute eigenvalues and eigenvectors by solving (A - lambda I) X = 0, determine lambda via determinants, and obtain nonzero eigenvectors.
Compute eigenvalues 4 and 6 for the matrix; eigenvectors are v1 ∝ [-1,1] and v2 ∝ [1,1], with v2 normalized to (1/√2)[1,1], verified by Matlab's eigen decomposition.
analyze eigenvalues and eigenvectors by solving det(E − λI) = 0; show the zero matrix has all vectors as eigenvectors for λ = 3, and the second matrix yields eigenspaces.
Identify when matrices have a complete set of independent eigenvectors, and why repeated eigenvalues can lead to dependent eigenvectors. Distinct eigenvalues guarantee independence, while repeats may not.
Analyze the 90-degree rotation matrix, find that the eigenvalues are complex ±i, and derive the corresponding complex eigenvectors, noting their conjugate relationship and relevance to differential equations.
Prove that eigenvectors corresponding to distinct eigenvalues are independent by examining two and three eigenvalue cases and showing that a dependent eigenvector necessitates equal eigenvalues.
Explore diagonalization via eigen decomposition by forming B from eigenvectors and D from eigenvalues, yielding A = B D B^{-1}, with B invertible if eigenvectors are independent.
Learn that for a real matrix, a complex eigenvalue has a complex eigenvector, and its conjugate is also an eigenvalue with the conjugate eigenvector.
Learn to compute matrix powers efficiently by diagonalizing a as B D B^{-1}, using D's powers, and reducing multiplications; understand why matrix powers arise in equations and models.
Prove that the determinant of any matrix equals the product of its eigenvalues by viewing det(lambda I minus E) as the characteristic polynomial and tracing the sign factor (-1)^n.
Analyze a discrete-time system defined by a difference equation, compute uk = A^k u0 via eigen decomposition, and assess stability and long-term behavior using eigenvalues and eigenvectors.
Solve a two-dimensional difference equation via eigen decomposition of a symmetric matrix in Matlab. Visualize convergence to a steady state of 7.5 for both components.
Transform scalar recurrence equations such as the Fibonacci sequence into matrix form using two-by-two or three-by-three matrices. Define initial conditions and explore eigenvalues to reveal the golden ratio during growth.
Explore how complex eigenvalues and eigenvectors shape the dynamics of linear difference equations, revealing oscillations, stability, and the influence of eigenvalue magnitude on long-term behavior.
Explore how Matlab visualizes complex eigenvalues and difference equations by plotting discrete vectors. See how a 90-degree rotation produces oscillations, decay, or explosion depending on eigenvalue magnitude.
From Matrix Calculus, To Robotics! From Control Systems, To Computer Graphics! From the Singular Value Decompositions to the Principal Component Analysis. From Systems Of Linear Equations, To Systems Of Differential Equations. From Inverses, to Pseudo Inverses. From Determinants, to positive definiteness. From Concepts To Programming. From Matlab To Python. From Proofs to Visualizations & From Theory to Applications. From Solved Examples To thoughtful Exams, and From Many Other Things to Many other things,
I, Present This Course !
My Name is Ahmed Fathy, currently a machine learning scientist at Affectiva, and a university teacher previously. Over the years, I happened to teach many subjects that make a very deep use of linear algebra. Those include Machine Learning and Deep Learning, Computer Graphics, Control Systems, Game Development, and even Pure Linear Algebra. Every one of those subjects handled linear algebra from very different perspectives. In this course, I provide them all.
This course is intended to be a Reference on linear algebra in the world of online courses, having proofs, theories, programming, concepts, applications, solved examples, visualizations, and everything ! Any suggestions for more topics to add are always welcome. Since the course contents are so large and extensive, I will not summarize them here. Instead, I ask you to please watch the promo video & also have a look on the course contents towards the bottom of the page. Have a nice day !