Minors on a pair of rows and a pair of columns #
A 2 × 2 minor of a matrix is the determinant of the submatrix on an ordered pair of rows and an
ordered pair of columns. Matrix.pairMinor names it, so that a family of such minors can be
indexed by pairs rather than by Fin 2-valued reindexing functions, and
Matrix.pairMinor_mul is the Cauchy--Binet expansion of a minor of a product, summing over the
increasing pairs of the middle index type.
The rows and the columns are indexed independently: a 2 × 2 minor makes sense for a rectangular
matrix, and the square case specializes.
The middle index type of Cauchy--Binet is linearly ordered, which is how the unordered pairs it sums over are named without choosing representatives: each is written as the increasing one. The sign of a minor depends on the order of its two indices, so some such choice is needed for the statement to be sign-correct.
Main definitions #
Matrix.pairMinor: the2 × 2minor on an ordered row pair and an ordered column pair.
Main results #
Matrix.pairMinor_eq: the minor written out as a difference of two products, withMatrix.pairMinor_self_left,Matrix.pairMinor_self_right,Matrix.pairMinor_swap_left,Matrix.pairMinor_swap_rightandMatrix.pairMinor_transposefor its behaviour under repeated indices, transposed pairs, and transposition.Matrix.pairMinor_map: a ring morphism carries a minor to the minor of the mapped matrix.Matrix.pairMinor_mul: Cauchy--Binet, expanding a minor of a product over the increasing pairs of the middle index type.
Cauchy--Binet for 2 × 2 minors. A minor of a product is the sum, over the increasing
pairs of the middle index type, of the products of the corresponding minors of the two factors.
Cauchy--Binet across a four-element middle index type, with the six increasing pairs written out. This is the shape the rank-two symplectic calculation consumes.