Linear Independence and Span
Once we have a vector space, we need a way to describe its contents efficiently. If a vector space is a “playground,” then Linear Independence and Span are the rules for how many “tools” (vectors) you actually need to build everything in that playground.
1. The Concept of Span
The Span of a set of vectors is the set of all possible linear combinations of those vectors.
Intuition: If you have two non-parallel arrows in a 2D plane, their span is the entire plane because you can reach any point by scaling and adding those two arrows.
Interactive Lab
Read the code, make a small change, then run it and inspect the output. Runtime setup messages stay outside the terminal so the result remains focused on what the program prints.
2. Linear Independence: Avoiding Redundancy
A set of vectors is linearly independent if none of the vectors can be written as a linear combination of the others. In other words, they are all “original” and provide “new directions.”
Formal Definition
Vectors are linearly independent if the equation has only the trivial solution .
If a vector can be built from others, the set is Dependent. We can test this by checking the Rank of the matrix formed by these vectors. If , they are dependent.
Interactive Lab
Read the code, make a small change, then run it and inspect the output. Runtime setup messages stay outside the terminal so the result remains focused on what the program prints.
3. Visualizing Dependency in 3D
Imagine three vectors in 3D space. If one is a combination of the others, they all lie on a single plane (2D), even though there are three vectors.
If a set of vectors contains the zero vector, is it linearly independent?
4. Why Does It Matter?
Linear independence tells us if our data is redundant. If you have 100 sensors measuring the same physical phenomenon (e.g., temperature) and they are perfectly correlated, your “feature matrix” will be rank-deficient. You have 100 numbers, but effectively only 1 “dimension” of information.
Interactive Lab
Read the code, make a small change, then run it and inspect the output. Runtime setup messages stay outside the terminal so the result remains focused on what the program prints.