[Merged by Bors] - refactor(LinearAlgebra/BilinearForm/TensorProduct): Tensor products of bilinear maps#14988
[Merged by Bors] - refactor(LinearAlgebra/BilinearForm/TensorProduct): Tensor products of bilinear maps#14988
Conversation
PR summary 21ea33a912
|
| File | Base Count | Head Count | Change |
|---|---|---|---|
| Mathlib.LinearAlgebra.BilinearForm.TensorProduct | 1275 | 1277 | +2 (+0.16%) |
| Mathlib.LinearAlgebra.QuadraticForm.TensorProduct | 1308 | 1310 | +2 (+0.15%) |
| Mathlib.LinearAlgebra.CliffordAlgebra.BaseChange | 1325 | 1327 | +2 (+0.15%) |
Import changes for all files
| Files | Import difference |
|---|---|
6 filesMathlib.LinearAlgebra.QuadraticForm.QuadraticModuleCat.Symmetric Mathlib.LinearAlgebra.QuadraticForm.QuadraticModuleCat.Monoidal Mathlib.LinearAlgebra.BilinearForm.TensorProduct Mathlib.LinearAlgebra.CliffordAlgebra.BaseChange Mathlib.LinearAlgebra.QuadraticForm.TensorProduct Mathlib.LinearAlgebra.QuadraticForm.TensorProduct.Isometries |
2 |
Declarations diff
+ exists_quadraticMap_ne_zero
++ tensorDistrib
++ tensorDistrib_tmul
++- baseChange
++- baseChange_tmul
+-++ tmul
You can run this locally as follows
## summary with just the declaration names:
./scripts/declarations_diff.sh <optional_commit>
## more verbose report:
./scripts/declarations_diff.sh long <optional_commit>The doc-module for script/declarations_diff.sh contains some details about this script.
|
CC: @eric-wieser |
|
@eric-wieser did you have any further thoughts on this please? |
eric-wieser
left a comment
There was a problem hiding this comment.
Can you fill out the "moves" section of the PR template to indicate that BilinMap.tmul and friends have moved to BilinForm.tmul?
| /- Previously `QuadraticForm.tensorDistrib` was defined in a similar way to | ||
| `QuadraticMap.tensorDistrib`. We now obtain the definition of `QuadraticForm.tensorDistrib` | ||
| from `QuadraticMap.tensorDistrib` using `A ⊗[R] R ≃ₗ[A] A`. Hypothesis `e1` below shows that the | ||
| new definition is equal to the old, and allows us to reuse the old proof. | ||
|
|
||
| TODO: Define `IsSymm` for bilinear maps and generalise this result to Quadratic Maps. | ||
| -/ |
There was a problem hiding this comment.
Can you put this inside the proof just before have e1? After all, this is a comment about the proof, not the theorem
There was a problem hiding this comment.
For a proper solution we probably want something like:
variable [AddCommMonoid M] [CommSemiring R] [Module R M] [StarRing R] [Star M]
/-- The proposition that a sesquilinear form is conjugate symmetric -/
def LinearMap.IsSymm (B : M →ₛₗ[starRingEnd R] M →ₗ[R] R) : Prop :=
∀ x y, star (B x y) = B y x
But preferably with [NonUnitalSemiring R] (or even [NonUnitalNonAssocSemiringSemiring R]) instead of [CommSemiring R] in order that this would cover Hilbert C*-modules.
|
bors merge Thanks! |
…f bilinear maps (#14988) Extend the results in `Mathlib/LinearAlgebra/BilinearForm/TensorProduct.lean` from Bilinear Forms to Bilinear Maps Similarly for `LinearAlgebra/QuadraticForm/TensorProduct`. I had originally intended to extend much more, but was blocked by not being able to extend `LinearMap.IsSymm` from forms to maps. The existing `BilinMap` names were actually specific to bilinear forms; these have been renamed to make room for the generalizations. Moves: - `LinearMap.BilinMap.tensorDistrib` → `LinearMap.BilinForm.tensorDistrib` - `LinearMap.BilinMap.tensorDistrib_tmul` → `LinearMap.BilinForm.tensorDistrib_tmul` - `LinearMap.BilinMap.tmul` → `LinearMap.BilinForm.tmul` - `LinearMap.BilinMap.baseChange` → `LinearMap.BilinForm.baseChange` - `LinearMap.BilinMap.baseChange_tmul` → `LinearMap.BilinForm.baseChange_tmul` Co-authored-by: Eric Wieser <[email protected]> Co-authored-by: Christopher Hoskin <[email protected]>
|
Pull request successfully merged into master. Build succeeded: |
Extend the results in
Mathlib/LinearAlgebra/BilinearForm/TensorProduct.leanfrom Bilinear Forms to Bilinear MapsSimilarly for
LinearAlgebra/QuadraticForm/TensorProduct.I had originally intended to extend much more, but was blocked by not being able to extend
LinearMap.IsSymmfrom forms to maps.The existing
BilinMapnames were actually specific to bilinear forms; these have been renamed to make room for the generalizations.Moves:
LinearMap.BilinMap.tensorDistrib→LinearMap.BilinForm.tensorDistribLinearMap.BilinMap.tensorDistrib_tmul→LinearMap.BilinForm.tensorDistrib_tmulLinearMap.BilinMap.tmul→LinearMap.BilinForm.tmulLinearMap.BilinMap.baseChange→LinearMap.BilinForm.baseChangeLinearMap.BilinMap.baseChange_tmul→LinearMap.BilinForm.baseChange_tmulLinearEquiv.congrQuadraticMapandLinearEquiv.congrRight₂#17454