-
Notifications
You must be signed in to change notification settings - Fork 394
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
refactor(LinearAlgebra/BilinearForm/Properties): Restrict the definition of BilinForm.IsSymm to commutative semiring #10422
Conversation
This sounds like a strict downgrade: the definition of |
Linear maps don't, but bilinear maps do, since the instance |
I think replacing |
I made a start in commit 4244c22, and it builds. We still need to deduplicate/rename the variables in those files. Feel free to adopt. |
…dules over commutative semirings (#11280) Require the module in the definition of the `BilinForm` structure to be over a commutative semiring. This PR is a per-requisite for #11278. It supersedes #10422. It's been pointed out elsewhere that the current definition over a non-commutative semiring doesn't make mathematical sense: #10553 (comment) Eventually the non-commutative situation may be considered in a mathematically meaningful way in the context of sesquilinear maps (e.g. something like #9334 (review)). Co-authored-by: @Vierkantor Co-authored-by: Christopher Hoskin <[email protected]> Co-authored-by: Christopher Hoskin <[email protected]> Co-authored-by: Eric Wieser <[email protected]>
I attempted to resolve the conflicts, it seems that #11280 completely subsumed this. |
…dules over commutative semirings (#11280) Require the module in the definition of the `BilinForm` structure to be over a commutative semiring. This PR is a per-requisite for #11278. It supersedes #10422. It's been pointed out elsewhere that the current definition over a non-commutative semiring doesn't make mathematical sense: #10553 (comment) Eventually the non-commutative situation may be considered in a mathematically meaningful way in the context of sesquilinear maps (e.g. something like #9334 (review)). Co-authored-by: @Vierkantor Co-authored-by: Christopher Hoskin <[email protected]> Co-authored-by: Christopher Hoskin <[email protected]> Co-authored-by: Eric Wieser <[email protected]>
…dules over commutative semirings (#11280) Require the module in the definition of the `BilinForm` structure to be over a commutative semiring. This PR is a per-requisite for #11278. It supersedes #10422. It's been pointed out elsewhere that the current definition over a non-commutative semiring doesn't make mathematical sense: #10553 (comment) Eventually the non-commutative situation may be considered in a mathematically meaningful way in the context of sesquilinear maps (e.g. something like #9334 (review)). Co-authored-by: @Vierkantor Co-authored-by: Christopher Hoskin <[email protected]> Co-authored-by: Christopher Hoskin <[email protected]> Co-authored-by: Eric Wieser <[email protected]>
…Mathlib, migrate all of `_root_.BilinForm` to `LinearMap.BilinForm` (#11278) Remove `structure BilinForm` from `LinearAlgebra/BilinearForm/Basic` and migrate all of `_root_.BilinForm` to `LinearMap.BilinForm` Closes: #10553 This isn't the end of the story, as there's still a lot of overlap between `LinearAlgebra/BilinearForm` and `LinearAlgebra/SesquilinearForm` but that can be sorted out in subsequent PRs. Supersedes: - #11057 - #11032 - #10432 - #10422 Co-authored-by: Eric Wieser <[email protected]> Co-authored-by: Christopher Hoskin <[email protected]> Co-authored-by: Christopher Hoskin <[email protected]> Co-authored-by: Vierkantor <[email protected]>
…dules over commutative semirings (#11280) Require the module in the definition of the `BilinForm` structure to be over a commutative semiring. This PR is a per-requisite for #11278. It supersedes #10422. It's been pointed out elsewhere that the current definition over a non-commutative semiring doesn't make mathematical sense: #10553 (comment) Eventually the non-commutative situation may be considered in a mathematically meaningful way in the context of sesquilinear maps (e.g. something like #9334 (review)). Co-authored-by: @Vierkantor Co-authored-by: Christopher Hoskin <[email protected]> Co-authored-by: Christopher Hoskin <[email protected]> Co-authored-by: Eric Wieser <[email protected]>
…Mathlib, migrate all of `_root_.BilinForm` to `LinearMap.BilinForm` (#11278) Remove `structure BilinForm` from `LinearAlgebra/BilinearForm/Basic` and migrate all of `_root_.BilinForm` to `LinearMap.BilinForm` Closes: #10553 This isn't the end of the story, as there's still a lot of overlap between `LinearAlgebra/BilinearForm` and `LinearAlgebra/SesquilinearForm` but that can be sorted out in subsequent PRs. Supersedes: - #11057 - #11032 - #10432 - #10422 Co-authored-by: Eric Wieser <[email protected]> Co-authored-by: Christopher Hoskin <[email protected]> Co-authored-by: Christopher Hoskin <[email protected]> Co-authored-by: Vierkantor <[email protected]>
…dules over commutative semirings (#11280) Require the module in the definition of the `BilinForm` structure to be over a commutative semiring. This PR is a per-requisite for #11278. It supersedes #10422. It's been pointed out elsewhere that the current definition over a non-commutative semiring doesn't make mathematical sense: #10553 (comment) Eventually the non-commutative situation may be considered in a mathematically meaningful way in the context of sesquilinear maps (e.g. something like #9334 (review)). Co-authored-by: @Vierkantor Co-authored-by: Christopher Hoskin <[email protected]> Co-authored-by: Christopher Hoskin <[email protected]> Co-authored-by: Eric Wieser <[email protected]>
…Mathlib, migrate all of `_root_.BilinForm` to `LinearMap.BilinForm` (#11278) Remove `structure BilinForm` from `LinearAlgebra/BilinearForm/Basic` and migrate all of `_root_.BilinForm` to `LinearMap.BilinForm` Closes: #10553 This isn't the end of the story, as there's still a lot of overlap between `LinearAlgebra/BilinearForm` and `LinearAlgebra/SesquilinearForm` but that can be sorted out in subsequent PRs. Supersedes: - #11057 - #11032 - #10432 - #10422 Co-authored-by: Eric Wieser <[email protected]> Co-authored-by: Christopher Hoskin <[email protected]> Co-authored-by: Christopher Hoskin <[email protected]> Co-authored-by: Vierkantor <[email protected]>
…dules over commutative semirings (#11280) Require the module in the definition of the `BilinForm` structure to be over a commutative semiring. This PR is a per-requisite for #11278. It supersedes #10422. It's been pointed out elsewhere that the current definition over a non-commutative semiring doesn't make mathematical sense: #10553 (comment) Eventually the non-commutative situation may be considered in a mathematically meaningful way in the context of sesquilinear maps (e.g. something like #9334 (review)). Co-authored-by: @Vierkantor Co-authored-by: Christopher Hoskin <[email protected]> Co-authored-by: Christopher Hoskin <[email protected]> Co-authored-by: Eric Wieser <[email protected]>
…Mathlib, migrate all of `_root_.BilinForm` to `LinearMap.BilinForm` (#11278) Remove `structure BilinForm` from `LinearAlgebra/BilinearForm/Basic` and migrate all of `_root_.BilinForm` to `LinearMap.BilinForm` Closes: #10553 This isn't the end of the story, as there's still a lot of overlap between `LinearAlgebra/BilinearForm` and `LinearAlgebra/SesquilinearForm` but that can be sorted out in subsequent PRs. Supersedes: - #11057 - #11032 - #10432 - #10422 Co-authored-by: Eric Wieser <[email protected]> Co-authored-by: Christopher Hoskin <[email protected]> Co-authored-by: Christopher Hoskin <[email protected]> Co-authored-by: Vierkantor <[email protected]>
…dules over commutative semirings (#11280) Require the module in the definition of the `BilinForm` structure to be over a commutative semiring. This PR is a per-requisite for #11278. It supersedes #10422. It's been pointed out elsewhere that the current definition over a non-commutative semiring doesn't make mathematical sense: #10553 (comment) Eventually the non-commutative situation may be considered in a mathematically meaningful way in the context of sesquilinear maps (e.g. something like #9334 (review)). Co-authored-by: @Vierkantor Co-authored-by: Christopher Hoskin <[email protected]> Co-authored-by: Christopher Hoskin <[email protected]> Co-authored-by: Eric Wieser <[email protected]>
…Mathlib, migrate all of `_root_.BilinForm` to `LinearMap.BilinForm` (#11278) Remove `structure BilinForm` from `LinearAlgebra/BilinearForm/Basic` and migrate all of `_root_.BilinForm` to `LinearMap.BilinForm` Closes: #10553 This isn't the end of the story, as there's still a lot of overlap between `LinearAlgebra/BilinearForm` and `LinearAlgebra/SesquilinearForm` but that can be sorted out in subsequent PRs. Supersedes: - #11057 - #11032 - #10432 - #10422 Co-authored-by: Eric Wieser <[email protected]> Co-authored-by: Christopher Hoskin <[email protected]> Co-authored-by: Christopher Hoskin <[email protected]> Co-authored-by: Vierkantor <[email protected]>
Restrict the definition of
BilinForm.IsSymm
andBilinForm.IsRefl
to modules over a commutative semiring.Currently
BilinForm.IsSymm
andBilinForm.IsRefl
are defined for modules over a semiring, whereasLinearMap.IsSymm
is defined for modules over a commutative semiring. We wish to redefineBilinForm.IsSymm
in terms ofLinearMap.IsSymm
as part of #10432. This PR is a preliminary step in that direction.