I've learned in linear algebra class that an $n \times m$ augmented matrix can be thought of as a collection of n planes in $\mathbb {R}^m$ . If the matrix is invertible, the planes all intersect at a single point. If it has infinite solutions, two or more planes coincide and so their intersection is a line rather than a point. If the matrix is inconsistent then there is no one single point of intersection. When you do Gauss-Jordan elimination, you are adding scalar multiples of the planes to each other, which has the effect of rotating them over the line where they intersect. When they attain RREF, they are at right angles to each other in the dimensions corresponding to columns that contain leading ones.
But then we go on to another interpretation of matrices as linear transformations for altering the magnitude and direction of vectors. I would like to have a geometric interpretation of matrix multiplication that is compatible with the intersecting planes interpretation. Since matrix multiplication is built from row by column dot-products, I guess the first step would be to visualize those.
First question: Am I correct in interpreting the dot-product of two vectors as the cosine of the angle between them scaled to the magnitude of both vectors, with a value somewhere between the length of the shadow vector A casts on vector B and the length of vector B. Is there anything more specific I should associate with this quantity?
Second question: Now let's say we multiply a $3 \times 3$ matrix by a vector $\in \mathbb R^3$ and get a different vector $\in \mathbb R^3$. How do I interpret it graphically relative to the three intersecting planes and one line through the origin that gave rise to it?
Third question: Can anybody recommend some software I can use for visualizing matrix operations, especially on Linux? At the moment I'm using wxMaxima with the draw package, but it's really awkward to use because draw cannot take matrices as arguments and I don't see any way of updating and existing plot with new information.
Thank you all kindly.