Skip to content
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

[Merged by Bors] - feat(Analysis): add WithLp for products #6136

Closed
wants to merge 48 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
793c15c
ProdLp, first quarter or so
mcdoll Jul 25, 2023
fb9744c
two proofs
mcdoll Jul 26, 2023
3288d03
more fixes
mcdoll Jul 26, 2023
b5e8424
half way point
mcdoll Jul 26, 2023
bc719aa
more stuff
mcdoll Aug 2, 2023
d0dd0d9
Merge remote-tracking branch 'origin' into mcdoll/inner_prod_prod
mcdoll Aug 4, 2023
ec7429c
fixes
mcdoll Aug 4, 2023
b70be84
stuff
mcdoll Aug 4, 2023
44021a8
last bit for this file?
mcdoll Aug 4, 2023
86fda9c
L2 inner product instance
mcdoll Aug 5, 2023
2c9f008
doc-strings
mcdoll Aug 5, 2023
9160bf3
import all files
mcdoll Aug 5, 2023
58c0ff7
linter
mcdoll Aug 5, 2023
ab93a9e
old names
mcdoll Aug 5, 2023
5401fc1
Eric's suggestion
mcdoll Aug 6, 2023
eca9b3f
Revert "linter"
mcdoll Aug 7, 2023
6a9789b
fixes
mcdoll Aug 7, 2023
03e8dfc
Merge remote-tracking branch 'origin' into mcdoll/inner_prod_prod
mcdoll Aug 12, 2023
c1a753b
fixes
mcdoll Aug 12, 2023
0832105
Merge remote-tracking branch 'origin' into mcdoll/inner_prod_prod
mcdoll Aug 15, 2023
63a1aff
search and replace
mcdoll Aug 15, 2023
49df75a
fixed Type*
mcdoll Aug 15, 2023
7703091
linter
mcdoll Aug 15, 2023
28ac6a5
naming
mcdoll Aug 15, 2023
ee3708d
Merge remote-tracking branch 'origin' into mcdoll/inner_prod_prod
mcdoll Aug 16, 2023
beace9e
moved algebra lemmas up
mcdoll Aug 16, 2023
e15ece9
simple corrections
mcdoll Aug 16, 2023
1a864f6
more suggestions
mcdoll Aug 16, 2023
e49da98
removed porting notes
mcdoll Aug 16, 2023
e0048b9
more corrections
mcdoll Aug 16, 2023
daabeab
more corrections
mcdoll Aug 16, 2023
17d9d2b
more instances and rearranging
mcdoll Aug 16, 2023
4b6d4b2
Merge remote-tracking branch 'origin' into mcdoll/inner_prod_prod
mcdoll Aug 17, 2023
8d85e4a
naming
mcdoll Aug 17, 2023
1c28a30
doc-string and examples
mcdoll Aug 17, 2023
2334034
Merge remote-tracking branch 'origin' into mcdoll/inner_prod_prod
mcdoll Aug 19, 2023
1d9a269
corrections
mcdoll Aug 19, 2023
a06efda
Update Mathlib/Analysis/NormedSpace/ProdLp.lean
mcdoll Aug 19, 2023
29643c1
Merge remote-tracking branch 'origin' into mcdoll/inner_prod_prod
mcdoll Sep 2, 2023
874ef83
corrections
mcdoll Sep 2, 2023
1436977
Sebastien's suggestions
mcdoll Sep 7, 2023
8abe9b0
one easy typeclass golf
mcdoll Sep 7, 2023
22a6447
Merge remote-tracking branch 'origin' into mcdoll/inner_prod_prod
mcdoll Sep 26, 2023
c966caa
move norm_of L2 section back to ProdLp
mcdoll Sep 27, 2023
dadffb9
fix lint
eric-wieser Sep 27, 2023
48c7e02
coherence
mcdoll Sep 29, 2023
7cdce1f
Merge branch 'mcdoll/inner_prod_prod' of github.com:leanprover-commun…
mcdoll Sep 29, 2023
78ee3b0
lint
mcdoll Sep 29, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions Mathlib.lean
Original file line number Diff line number Diff line change
Expand Up @@ -693,6 +693,7 @@ import Mathlib.Analysis.InnerProductSpace.Orientation
import Mathlib.Analysis.InnerProductSpace.Orthogonal
import Mathlib.Analysis.InnerProductSpace.PiL2
import Mathlib.Analysis.InnerProductSpace.Positive
import Mathlib.Analysis.InnerProductSpace.ProdL2
import Mathlib.Analysis.InnerProductSpace.Projection
import Mathlib.Analysis.InnerProductSpace.Rayleigh
import Mathlib.Analysis.InnerProductSpace.Spectrum
Expand Down Expand Up @@ -775,6 +776,7 @@ import Mathlib.Analysis.NormedSpace.Multilinear
import Mathlib.Analysis.NormedSpace.OperatorNorm
import Mathlib.Analysis.NormedSpace.PiLp
import Mathlib.Analysis.NormedSpace.Pointwise
import Mathlib.Analysis.NormedSpace.ProdLp
import Mathlib.Analysis.NormedSpace.QuaternionExponential
import Mathlib.Analysis.NormedSpace.Ray
import Mathlib.Analysis.NormedSpace.RieszLemma
Expand Down
44 changes: 44 additions & 0 deletions Mathlib/Analysis/InnerProductSpace/ProdL2.lean
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
/-
Copyright (c) 2023 Moritz Doll. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Moritz Doll
-/

import Mathlib.Analysis.InnerProductSpace.Projection
import Mathlib.Analysis.NormedSpace.ProdLp

/-!
# `L²` inner product space structure on products of inner product spaces

The `L²` norm on product of two inner product spaces is compatible with an inner product
$$
\langle x, y\rangle = \langle x_1, y_1 \rangle + \langle x_2, y_2 \rangle.
$$
This is recorded in this file as an inner product space instance on `WithLp 2 (E × F)`.
-/

namespace WithLp

variable {𝕜 : Type*} (E F : Type*)
variable [IsROrC 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] [NormedAddCommGroup F]
[InnerProductSpace 𝕜 F]

noncomputable instance instProdInnerProductSpace :
InnerProductSpace 𝕜 (WithLp 2 (E × F)) where
inner x y := inner x.fst y.fst + inner x.snd y.snd
norm_sq_eq_inner x := by
simp [prod_norm_sq_eq_of_L2, ← norm_sq_eq_inner]
conj_symm x y := by
simp
add_left x y z := by
simp only [add_fst, add_snd, inner_add_left]
ring
smul_left x y r := by
simp only [smul_fst, inner_smul_left, smul_snd]
ring

variable {E F}

@[simp]
theorem prod_inner_apply (x y : WithLp 2 (E × F)) :
inner (𝕜 := 𝕜) x y = inner x.fst y.fst + inner x.snd y.snd := rfl
Loading