Determinants
Geometric Interpretation
In his video on determinants, 3blue1brown provides a nice geometric interpretation for the determinant of a matrix, A
.
Generally, the determinant represents the factor by which a matrix scales the area/volume/etc after a linear transformation.
This is a better approach than rote memorization of the formula for calculating a determinant and just rolling with it (like I did for years).
from IPython.display import Image
Image('images/determinant_formula_2d.PNG')
2D Intuition
To see why this is the case, let’s consider a couple simple shapes/transformations.
As mentioned in our Linear Transformation notebook, we consider the matrix A
as the effect on our basis unit vectors i
and j
. The area of a 1x1
rectangle is obviously 1
, so looking at a simple matrix below that stretches our area in a straight line about the X and Y axes, we can see that the form expands to area a * d
, which is the same as the growth of scale when dividing by 1
.
Image('images/determinant_rectangle.PNG')
Making the transformation a bit spicier, we’ll make our transformation on j
one in two dimensions, keeping i
in one.
The area of a parallelogram is just the height multiplied by the width, which is still easy enough to see in this form.
Image('images/determinant_parallelogram.PNG')
Finally, making the transformation on both i
and j
be across two dimensions, 3b1b provided a really elegant geometric representation for the formula that you might have memorized to show that this still holds.
Image('images/determinant_math.PNG')
Extensions
3D
There is, of course, a general form for calculating the determinant, but that’s easily obviated away with numpy
Image('images/determinant_formula.PNG')
Remembering the intuition behind the determinant is far more valueable, imo.
Transformation Non Unit Vector Shapes
As remarked in the notebook on Linear Transformations, the consequence of applying a linear transformation using a matrix A
is that parallel and evenly-spaced points remain so after a transformation. And so the scaling of our area follows the same effect for any shape. e.g.
Image('images/det_linearity_before.PNG')
transforming to
Image('images/det_linearity_after.PNG')