We place variables on a grid: we have an n×m matrix.
This is interesting to us, because of the ordered basis of a linear space. We place our tuples vertically, now.
If a function is linear, then applying it to the identity gives us its matrix; matrix multiplication provides us an algorithm of calculation.
Rotations are linear transformations, as are the functions which scale. Translation is only linear if we include a fourth dimension. It is convenient to do so in order for the algorithms to line up nicely.
This fourth dimension is not time: whether time is a dimension is a matter of philosophy, and technologists seldom have time for philosophy.
Some technologists sit up all night thinking and writing about things which they don't quite understand.
Matrix inversion is something which makes matrices very useful.
To know whether a matrix can be inverted, we need to consider an algorithm which runs across a row (or runs down a column), and for every item applies a function which includes the item itself, its coordinate, and the matrix which is produced by excluding both the row and the column of the item.
When the function applies itself to the smaller matrix in its computation, we call this recursion. I am not quite sure whether I am stating the obvious, or manspl'ning right now; or both! Either I'm doing that all the time, or only sometimes, and how am I supposed to know?
This kind of recursion is particularly interesting, though, as it allows us to turn the whole matrix into one value.
But this is something for the Einsteins of the world to contemplate.
Not for someone who has contemplated the stack requirements that recursion imposes.
And definitely not for someone who has wondered whether there is such a thing as a perfect GUI.