Module docstring
{"# Nonsingular inverses
In this file, we define an inverse for square matrices of invertible determinant.
For matrices that are not square or not of full rank, there is a more general notion of pseudoinverses which we do not consider here.
The definition of inverse used in this file is the adjugate divided by the determinant.
We show that dividing the adjugate by det A (if possible), giving a matrix A⁻¹ (nonsing_inv),
will result in a multiplicative inverse to A.
Note that there are at least three different inverses in mathlib:
A⁻¹(Inv.inv): alone, this satisfies no properties, although it is usually used in conjunction withGrouporGroupWithZero. On matrices, this is defined to be zero when no inverse exists.⅟A(invOf): this is only available in the presence of[Invertible A], which guarantees an inverse exists.Ring.inverse A: this is defined on anyMonoidWithZero, and just like⁻¹on matrices, is defined to be zero when no inverse exists.
We start by working with Invertible, and show the main results:
Matrix.invertibleOfDetInvertibleMatrix.detInvertibleOfInvertibleMatrix.isUnit_iff_isUnit_detMatrix.mul_eq_one_comm
After this we define Matrix.inv and show it matches ⅟A and Ring.inverse A.
The rest of the results in the file are then about A⁻¹
References
- https://en.wikipedia.org/wiki/Cramer'srule#Findinginverse_matrix
Tags
matrix inverse, cramer, cramer's rule, adjugate
","### Matrices are Invertible iff their determinants are ","#### Variants of the statements above with IsUnit ","### A noncomputable Inv instance ","### Inverses of permutated matrices
Note that the simp-normal form of Matrix.reindex is Matrix.submatrix, so we prove most of these
results about only the latter.
","### More results about determinants ","### More results about traces "}