Linear Algebra · Eigenvalues, Eigenvectors and SVD · M6-L1 · Intermediate
Point Cloud PCA
Robot scenario
Scout's LiDAR returns thousands of points a second. Almost every mapping routine begins by asking a tiny neighbourhood of them a single question: are you a wall, a pole, or a bush? The answer is hidden in three numbers, the eigenvalues of the neighbourhood covariance.
You will find the direction of greatest spread by hand, learn to read three spreads as plane, line or volume, then write the two functions that do this for real: the principal axes of a cloud, and a patch classifier that survives a patch 1000 m away.
Your task
Lab complete: post-mortem
You have passed every stage. Now connect it back to the theory and move on:
Output
What Python can I use?
Plain Python with math and lakit (import lakit as la: vectors, matmul, solve, qr, svd, eigh, lstsq, pinv and more; NumPy is not available in the browser). Your code runs in a background worker: an endless loop is stopped after a few seconds and the page stays usable. It runs in your browser and is never sent anywhere.