[Merged by Bors] - feat: add theorem about the norm of cross products#20920
[Merged by Bors] - feat: add theorem about the norm of cross products#20920
Conversation
PR summary 31a021f3f7Import changes for modified filesNo significant changes to the import graph Import changes for all files
|
Co-authored-by: Thomas Browning <tb65536@users.noreply.github.com>
|
I think you should put the result about cross product in a separate file, since cross products are irrelevant to most uses of angles (just as the results about conformal maps and angles go in a separate file to avoid introducing irrelevant dependencies on calculus for most users). |
|
Also, the fact that you need a definition |
|
@jsm28 I'll move the cross product result to a separate file. Regarding your second comment, could you help me understand what the right way to address this might be? I could make a separate definition for cross products using EuclideanSpace as inputs/outputs. But then porting over every cross product theorem to this new definition (even though the proof may be simple through defeq) doesn't feel right. It seems to me that a better cross product definition should simultaneously work for both input types, and just return the appropriate output type. However, I'm unsure about what the best way to implement this would be. Any help is greatly appreciated :) |
|
I suggest asking on Zulip about how to avoid duplication of cross product API. My guess is that it might be possible to do something in meta code that controls the elaboration of |
|
Note that the new lemma and imports still need to move to a new file such as |
|
( |
|
|
||
| assert_not_exists HasFDerivAt ConformalAt | ||
|
|
||
| noncomputable section |
There was a problem hiding this comment.
I would guess you don't need this.
There was a problem hiding this comment.
I meant the noncomputable section on the line I commented on, not the assert_not_exists that was in the context that github chose to show! Though getting rid of both also seems fine.
There was a problem hiding this comment.
Gotcha, Ill remove both!
| open Real | ||
|
|
||
| open Matrix |
There was a problem hiding this comment.
nit:
| open Real | |
| open Matrix | |
| open Real | |
| open Matrix |
|
✌️ Mr-vedant-gupta can now approve this pull request. To approve and merge a pull request, simply reply with |
|
bors r+ |
Add and prove the equality between the norm of a cross-product of two vectors and the product of the norms of the individual vectors and the sine of the angle between them. See `crossProduct_norm_eq_norm_mul_norm_mul_sin`. Co-authored-by: Mr-vedant-gupta <91429389+Mr-vedant-gupta@users.noreply.github.com>
|
Pull request successfully merged into master. Build succeeded: |
* origin/master: chore: update Mathlib dependencies 2025-02-06 (#21523) fix(MathlibTest/TransImports): stop inspecting the `Lean` package (#21492) style(Mathlib/Computability/Halting): `RePred` to `REPred` (#21216) feat(Data/Set/Card): add `ncard_le_encard` (#21467) feat(Order): lemmas for `Order.succ` and `Order.pred` in `Fin` (#21437) feat(LinearAlgebra/LinearIndependent): linear independence + subsingletons (#21511) feat: for continuous linear maps in a normed ring, `flip mul = mul` (#21507) chore(GroupTheory/Commutator): don't import `Ring` (#21296) chore(Data/Complex/Abs): add `protected` to results that already exists in root namespace (#21454) chore(*): `erw`s that can now become `rw`s (#21510) chore: allow create-adaptation-pr.sh to continue when bump branch already exists (#21486) feat(CategoryTheory): equivalence between `Ind C` and left exact functors from `C` to `Type` (#21430) chore: add test to TCSynth.lean (#21499) feat: the category of ind-objects satisfies the AB5 axiom (#21350) refactor(RepresentationTheory): `ConcreteCategory` instances for `Rep` (#21465) chore: split Mathlib.Order.Filter.Basic (#21403) chore: update Mathlib dependencies 2025-02-06 (#21487) chore(Cache): Add support for $MATHLIB_CACHE_DIR (#21480) feat(CategoryTheory): a closed monoidal category is an ordinary enriched category over itself (#21436) feat(AlgebraicTopology): notation X ^[n] for cosimplicial objects (#21485) chore: upgrade dependencies manually (#21484) refactor(Analysis/Normed): `ConcreteCategory` refactor for `SemiNormedGrp` (#21477) refactor(LinearAlgebra): `ConcreteCategory` instance for `QuadraticModuleCat` (#21471) refactor(MeasureTheory): `ConcreteCategory` instance for `MeasCat` (#21468) refactor(Topology/Category): clean up remaining uses of `HasForget` (#21458) refactor(CategoryTheory): `ConcreteCategory` instances for pointed types (#21470) feat(CategoryTheory/Action): `ConcreteCategory` instances for `Action` (#21462) feat(CategoryTheory): `ConcreteCategory` instance for `DifferentialObject` (#21464) feat(Analysis/Normed/Group/SeparationQuotient): add normed lifts and `mk` (#18178) chore: rename `encard_le_card` to `encard_le_encard` (#21426) feat: add theorem about the norm of cross products (#20920) feat(Data/Matroid/Circuit): circuit elimination and finitary matroids (#21172) feat(LinearAlgebra/ExteriorPower): add iMulti_family definition for product of a family of vectors (#21397)
Add and prove the equality between the norm of a cross-product of two vectors and the product of the norms of the individual vectors and the sine of the angle between them. See `crossProduct_norm_eq_norm_mul_norm_mul_sin`. Co-authored-by: Mr-vedant-gupta <91429389+Mr-vedant-gupta@users.noreply.github.com>
Add and prove the equality between the norm of a cross-product of two vectors and the product of the norms of the individual vectors and the sine of the angle between them. See
crossProduct_norm_eq_norm_mul_norm_mul_sin.