-
Notifications
You must be signed in to change notification settings - Fork 368
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(LinearAlgebra/BilinearForm/TensorProduct): base change of biline…
…ar forms (#6306) This generalizes the existing `BilinForm.tensorDistrib` to be heterogenous in the rings it uses, such that a base change, ```lean protected def baseChange (B : BilinForm R M₂) : BilinForm A (A ⊗[R] M₂) := ``` falls out as a special case. I do not attempt to generalize `BilinForm.tensorDistribEquiv`. Unfortunately, this changes the defeq as ```diff -(B₁.tmul B₂) (m₁ ⊗ₜ m₂) (m₁' ⊗ₜ m₂') = B₁ m₁ m₁' * B₂ m₂ m₂' +(B₁.tmul B₂) (m₁ ⊗ₜ m₂) (m₁' ⊗ₜ m₂') = B₂ m₂ m₂' • B₁ m₁ m₁' ``` We could fix this by using the right action instead, but that's a lot of work for a very minorly annoying defeq. This also breaks the defeq of `tensorDistribEquiv B = tensorDistrib B`; though the reason is more complicated than the scalar action issue above. It would be fixed if we defined all the homogenous operations on tensor products as special cases of the heterogenous ones, but that's also a lot of work for a very small win. This is a port of work from pygae/lean-ga#31, and almost at the end of the path to a base change of quadratic forms and clifford algebras. This was independently developed at the Leiden workshop as [`BilinForm.baseChange`](https://github.com/alexjbest/ant-lorentz/blob/1f97add294b2d50f99537c15583666d78b0d7e24/AntLorentz/BaseChange.lean#L75-L85), though the results there are not sorry-free.
- Loading branch information
1 parent
41e3e2b
commit 433c275
Showing
2 changed files
with
89 additions
and
26 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters