While working on math, physics, or a program, track types/units
A lot of people get surprised at how quickly and easily I intuit linear algebra things, and I think a major factor is this. For linear algebra, you can think of vector spaces as being the equivalent of types/units. E.g. the rotation map for a diagonalization maps between the original vector space and the direct sum of the eigenvectors. Sort of.
It’s always the first question I ask when I see a matrix or a tensor—what spaces does it map between?
Nice callout. I definitely think that ‘typeful thinking’ (units and dimensions) is a massive boost in mathematics, computer science and philosophy.
One hypothetical reason is that knowing ‘types’ means knowing ‘what you can do with it’ (in particular, the manipulations you’ve done or witnessed on like-typed things before become generators of new insight). I think this is at least one piece of a description of how we humans do concept abstraction and recomposition in mundane and intellectual situations alike.
It has always bewildered me how you can represent multi-dimensional concepts in a two dimensional array of numbers. The position of a vector/matrix by itself can be arbitrary, but when you apply an operation on it with another vector/matrix, that’s when the positions of the variables become interlocked and fixed. Then I realized the 2D array is just a form of organization rather than having intrinsic meaning regarding the vector/matrix itself.
My comment here is a bit narrow, but re
A lot of people get surprised at how quickly and easily I intuit linear algebra things, and I think a major factor is this. For linear algebra, you can think of vector spaces as being the equivalent of types/units. E.g. the rotation map for a diagonalization maps between the original vector space and the direct sum of the eigenvectors. Sort of.
It’s always the first question I ask when I see a matrix or a tensor—what spaces does it map between?
Nice callout. I definitely think that ‘typeful thinking’ (units and dimensions) is a massive boost in mathematics, computer science and philosophy.
One hypothetical reason is that knowing ‘types’ means knowing ‘what you can do with it’ (in particular, the manipulations you’ve done or witnessed on like-typed things before become generators of new insight). I think this is at least one piece of a description of how we humans do concept abstraction and recomposition in mundane and intellectual situations alike.
It has always bewildered me how you can represent multi-dimensional concepts in a two dimensional array of numbers. The position of a vector/matrix by itself can be arbitrary, but when you apply an operation on it with another vector/matrix, that’s when the positions of the variables become interlocked and fixed. Then I realized the 2D array is just a form of organization rather than having intrinsic meaning regarding the vector/matrix itself.