OAI/LinearAlgebra/MatrixMultiplication/AuxiliarySeparation/Determinant/Bounds.lean
24 declarations, 0 contain sorry, 0 declared as axioms
Degree bounds for the binary determinant relation
The polynomial identity A + X * B = 0 forces one extra degree of cancellation:
if A has degree less than e + 1, then B has degree less than e.
- theorem
OAI.MatrixMultiplication.AuxiliarySeparation.DeterminantBounds.degree_lt_of_diagonal_eq_zeroline 24Source documentation
A degree bound on the first component of a diagonal relation bounds the second component by one degree less.
theorem degree_lt_of_diagonal_eq_zero {e : ℕ} {A B : R[X]} (hA : A.degree < (e + 1 : ℕ)) (h : A + X * B = 0) : B.degree < e := by … - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.DeterminantBounds.degree_neg_X_mul_ltline 34Source documentation
Multiplication by
-Xincreases the strict degree bound by at most one.theorem degree_neg_X_mul_lt {e : ℕ} {q : R[X]} (hq : q.degree < e) : (-(X * q) : R[X]).degree < (e + 1 : ℕ) := by … - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.DeterminantBounds.determinant_degree_boundsline 43Source documentation
The determinant generator preserves the two component degree bounds.
theorem determinant_degree_bounds {e : ℕ} {q : R[X]} (hq : q.degree < e) : (-(X * q) : R[X]).degree < (e + 1 : ℕ) ∧ q.degree < (e + 1 : ℕ) := by … - abbrev
OAI.MatrixMultiplication.AuxiliarySeparation.DeterminantBounds.BoundedPairline 49Source documentation
Pairs representing forms of bidegree
(e, 1).abbrev BoundedPair (R : Type*) [CommRing R] (e : ℕ) := …
- def
OAI.MatrixMultiplication.AuxiliarySeparation.DeterminantBounds.diagonalline 53Source documentation
Diagonal substitution on the space with the prescribed degree bounds.
def diagonal (e : ℕ) : BoundedPair R e →ₗ[R] R[X] where …
Mentions: OAI.MatrixMultiplication.AuxiliarySeparation.DeterminantBounds.BoundedPair
- def
OAI.MatrixMultiplication.AuxiliarySeparation.DeterminantBounds.negativeShiftline 59Source documentation
The first component of multiplication by
uw-vs.def negativeShift (e : ℕ) : degreeLT R e →ₗ[R] degreeLT R (e + 1) := …
- def
OAI.MatrixMultiplication.AuxiliarySeparation.DeterminantBounds.widenline 66Source documentation
Increase the allowed degree bound by one.
def widen (e : ℕ) : degreeLT R e →ₗ[R] degreeLT R (e + 1) := …
- theorem
OAI.MatrixMultiplication.AuxiliarySeparation.DeterminantBounds.widen_coeline 69 - def
OAI.MatrixMultiplication.AuxiliarySeparation.DeterminantBounds.determinantline 74Source documentation
Multiplication by
uw-vslands in the bounded pair space.def determinant (e : ℕ) : degreeLT R e →ₗ[R] BoundedPair R e where …
Mentions: OAI.MatrixMultiplication.AuxiliarySeparation.DeterminantBounds.BoundedPair
- theorem
OAI.MatrixMultiplication.AuxiliarySeparation.DeterminantBounds.diagonal_applyline 79 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.DeterminantBounds.determinant_fstline 82 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.DeterminantBounds.determinant_sndline 85 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.DeterminantBounds.diagonal_determinantline 90 - def
OAI.MatrixMultiplication.AuxiliarySeparation.DeterminantBounds.toKernelline 95Source documentation
The determinant map with codomain restricted to the diagonal kernel.
def toKernel (e : ℕ) : degreeLT R e →ₗ[R] LinearMap.ker (diagonal (R := R) e) := …
Mentions: OAI.MatrixMultiplication.AuxiliarySeparation.DeterminantBounds.diagonal
- theorem
OAI.MatrixMultiplication.AuxiliarySeparation.DeterminantBounds.toKernel_coeline 98 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.DeterminantBounds.toKernel_bijectiveline 101 - def
OAI.MatrixMultiplication.AuxiliarySeparation.DeterminantBounds.kernelEquivline 123Source documentation
The bounded determinant kernel has exactly the degree-
< epolynomials as its parameters, including ate = 0.def kernelEquiv (e : ℕ) : degreeLT R e ≃ₗ[R] LinearMap.ker (diagonal (R := R) e) := …
Mentions: OAI.MatrixMultiplication.AuxiliarySeparation.DeterminantBounds.diagonal
- theorem
OAI.MatrixMultiplication.AuxiliarySeparation.DeterminantBounds.finrank_kernelline 127Source documentation
The finite determinant kernel has dimension
e.theorem finrank_kernel (K : Type*) [Field K] (e : ℕ) : Module.finrank K (LinearMap.ker (diagonal (R := K) e)) = e := by …Mentions: OAI.MatrixMultiplication.AuxiliarySeparation.DeterminantBounds.diagonal
- theorem
OAI.MatrixMultiplication.AuxiliarySeparation.DeterminantBounds.degree_diagonal_ltline 133Source documentation
The diagonal has the next larger degree bound.
theorem degree_diagonal_lt (e : ℕ) (p : BoundedPair R e) : (diagonal e p).degree < (e + 2 : ℕ) := by …Mentions: OAI.MatrixMultiplication.AuxiliarySeparation.DeterminantBounds.BoundedPair, OAI.MatrixMultiplication.AuxiliarySeparation.DeterminantBounds.diagonal
- def
OAI.MatrixMultiplication.AuxiliarySeparation.DeterminantBounds.diagonalToDegreeLTline 143Source documentation
Diagonal substitution with both the domain and codomain degree bounded.
def diagonalToDegreeLT (e : ℕ) : BoundedPair R e →ₗ[R] degreeLT R (e + 2) := …
Mentions: OAI.MatrixMultiplication.AuxiliarySeparation.DeterminantBounds.BoundedPair
- theorem
OAI.MatrixMultiplication.AuxiliarySeparation.DeterminantBounds.diagonalToDegreeLT_coeline 146 - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.DeterminantBounds.degree_divX_ltline 150Source documentation
Removing the constant coefficient lowers the strict degree bound by one.
theorem degree_divX_lt {e : ℕ} {p : R[X]} (hp : p.degree < (e + 1 : ℕ)) : p.divX.degree < e := by … - theorem
OAI.MatrixMultiplication.AuxiliarySeparation.DeterminantBounds.diagonalToDegreeLT_surjectiveline 159Source documentation
Every polynomial of the output degree is a diagonal restriction of a bounded pair.
theorem diagonalToDegreeLT_surjective (e : ℕ) : Function.Surjective (diagonalToDegreeLT (R := R) e) := by …Mentions: OAI.MatrixMultiplication.AuxiliarySeparation.DeterminantBounds.diagonalToDegreeLT
- theorem
OAI.MatrixMultiplication.AuxiliarySeparation.DeterminantBounds.ker_diagonalToDegreeLTline 171