A graph-theoretical notation for array concatenation represents arrays as bubbles with arms sticking out, each arm with a specified number of "'fingers". Bubbles with one arm are vectors, with two arms matrices, etc. Arrays can only hold hands, i.e., "contract" along a given pair of arms, if the arms have the same number of fingers. There are three array concatenations: outer product, contraction, and direct sum. Special arrays are the unit vectors and the diagonal array, which is the branching point of several arms. Outer products and contractions are independent of the order in which they are performed and distributive with respect to the direct sum. Examples are given where this notation clarifies mathematical proofs.
/lp/association-for-computing-machinery/graph-notation-for-arrays-wGdngqWiNN