Skip to content

[Merged by Bors] - feat(Analysis/InnerProductSpace/Dual, Analysis/Normed/Group/SeparationQuotient): add null subspaces#16707

Closed
yoh-tanimoto wants to merge 97 commits intomasterfrom
yoh-tanimoto-innerproductspace-quotient
Closed

[Merged by Bors] - feat(Analysis/InnerProductSpace/Dual, Analysis/Normed/Group/SeparationQuotient): add null subspaces#16707
yoh-tanimoto wants to merge 97 commits intomasterfrom
yoh-tanimoto-innerproductspace-quotient

Conversation

@yoh-tanimoto
Copy link
Copy Markdown
Collaborator

@yoh-tanimoto yoh-tanimoto commented Sep 11, 2024

Define the null submodule in an InnerProductSpace and the null subgroup in a NormedAddCommGroup and prove basic properties.

Define the null space in an InnerProductSpace without definite and add InnerProduceSpace structure to the quotient by the null space.

Motivation: This PR has evolved from a PR defining the SeparationQuotient for InnerProductSpace. That has been done in #17452 and now contains some other things.


@yoh-tanimoto yoh-tanimoto added RFC Request for comment t-analysis Analysis (normed *, calculus) labels Sep 11, 2024
@github-actions
Copy link
Copy Markdown

github-actions bot commented Sep 11, 2024

PR summary 6d539fd27f

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference
30 files Mathlib.Analysis.InnerProductSpace.Spectrum Mathlib.LinearAlgebra.Matrix.PosDef Mathlib.Analysis.InnerProductSpace.Rayleigh Mathlib.Analysis.InnerProductSpace.WeakOperatorTopology Mathlib.Analysis.InnerProductSpace.Dual Mathlib.Analysis.CStarAlgebra.Matrix Mathlib.Geometry.Euclidean.Angle.Oriented.Basic Mathlib.Geometry.Euclidean.Sphere.Ptolemy Mathlib.Analysis.InnerProductSpace.JointEigenspace Mathlib.Geometry.Euclidean.Angle.Sphere Mathlib.Analysis.InnerProductSpace.LinearPMap Mathlib.Analysis.InnerProductSpace.Positive Mathlib.Analysis.Fourier.RiemannLebesgueLemma Mathlib.Geometry.Euclidean.Angle.Oriented.RightAngle Mathlib.Geometry.Euclidean.Angle.Oriented.Rotation Mathlib.Analysis.InnerProductSpace.StarOrder Mathlib.LinearAlgebra.Matrix.LDL Mathlib.LinearAlgebra.Matrix.SchurComplement Mathlib.Analysis.CStarAlgebra.ContinuousLinearMap Mathlib.Combinatorics.SimpleGraph.LapMatrix Mathlib.Analysis.InnerProductSpace.Adjoint Mathlib.Analysis.Convex.Cone.Proper Mathlib.Analysis.Calculus.Gradient.Basic Mathlib.LinearAlgebra.Matrix.Spectrum Mathlib.Analysis.VonNeumannAlgebra.Basic Mathlib.Geometry.Euclidean.Triangle Mathlib.Geometry.Euclidean.Angle.Oriented.Affine Mathlib.LinearAlgebra.Matrix.HermitianFunctionalCalculus Mathlib.Analysis.InnerProductSpace.TwoDim Mathlib.Analysis.InnerProductSpace.LaxMilgram
1
Mathlib.Analysis.Normed.Group.NullSubmodule 1202

Declarations diff

+ inner_eq_zero_of_left
+ inner_eq_zero_of_right
+ isClosed_nullSubgroup
+ isClosed_nullSubmodule
+ mem_nullSubgroup_iff
+ mem_nullSubmodule_iff
+ mk_eq_one_iff
+ nnnorm_div_eq_nnnorm_left
+ nnnorm_div_eq_nnnorm_right
+ nnnorm_le_mul_nnnorm_add'
+ nnnorm_mul_eq_nnnorm_left
+ nnnorm_mul_eq_nnnorm_right
+ norm_div_eq_norm_left
+ norm_div_eq_norm_right
+ norm_le_mul_norm_add'
+ norm_mul_eq_norm_left
+ norm_mul_eq_norm_right
+ nullSubgroup
+ nullSubmodule
+ nullSubmodule_le_ker_toDualMap_left
+ nullSubmodule_le_ker_toDualMap_right

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.


No changes to technical debt.

You can run this locally as

./scripts/technical-debt-metrics.sh pr_summary
  • The relative value is the weighted sum of the differences with weight given by the inverse of the current value of the statistic.
  • The absolute value is the relative value divided by the total sum of the inverses of the current values (i.e. the weighted average of the differences).

yoh-tanimoto and others added 5 commits September 13, 2024 00:39
Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
@yoh-tanimoto yoh-tanimoto changed the title feat(Analysis/InnerProductSpace/Quotient): add the quotient InnerProductSpace.Core by the null space feat(Analysis/InnerProductSpace/Quotient): add the quotient InnerProductSpace by the null space Sep 12, 2024
mathlib-bors bot pushed a commit that referenced this pull request Sep 25, 2024
…ddCommGroup` (#17007)

replace the assumption `NormedAddCommGroup` to `SemiNormedAddCommGroup` in various places.

motivation: with the weakened assumption the results apply to `InnerProductSpace` without `definite` assumption.

This is suggested in #16707, and continues from #14024.



Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
Copy link
Copy Markdown
Contributor

@j-loreaux j-loreaux left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suspect that this is not the way to proceed here. Instead, I recommend using SeparationQuotient.

If we don't already have it, you could show that if X is a Seminormed* then SeparationQuotient X is a Normed*. Then you could define the inner product space isntance on SeparationQuotient X.

The problem with putting this InnerProductSpace instance on E / nullSpace \bbk E is that we could end up with non-defeq instances later down the line. Moreover, SeparationQuotient does almost exactly what you want already, it just doesn't have the necessary instances yet.

@j-loreaux j-loreaux added the awaiting-author A reviewer has asked the author a question or requested changes. label Sep 25, 2024
@leanprover-community-bot-assistant leanprover-community-bot-assistant added the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Sep 25, 2024
@leanprover-community-bot-assistant leanprover-community-bot-assistant removed the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Sep 25, 2024
@yoh-tanimoto
Copy link
Copy Markdown
Collaborator Author

@j-loreaux If I use SeparationQuotient and take the instance SeparationQuotient.instAddCommGroup, it is different from AddSubgroup.seminormedAddCommGroupQuotient, correct? Do I have to define the norm again for SeparationQuotient?

@j-loreaux
Copy link
Copy Markdown
Contributor

Yes, it is certainly different, and you'll need to define the norm again, assuming the instance doesn't already exist. But I think this is the cleaner approach.

Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
Copy link
Copy Markdown
Member

@eric-wieser eric-wieser left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

bors d+

(again)

Thanks! Just a file rename to go.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now that this file doesn't mention SeparationQuotient.lean, perhaps it should be called NullSubmodule.lean or NullSpace.lean?

@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Nov 15, 2024

✌️ yoh-tanimoto can now approve this pull request. To approve and merge a pull request, simply reply with bors r+. More detailed instructions are available here.

@yoh-tanimoto
Copy link
Copy Markdown
Collaborator Author

bors r+

mathlib-bors bot pushed a commit that referenced this pull request Nov 15, 2024
…nQuotient): add null subspaces (#16707)

Define the null submodule in an `InnerProductSpace` and the null subgroup in a `NormedAddCommGroup` and prove basic properties.

~~Define the null space in an `InnerProductSpace` without `definite` and add `InnerProduceSpace` structure to the quotient by the null space.~~ 

Motivation: This PR has evolved from a PR defining the `SeparationQuotient` for `InnerProductSpace`. That has been done in #17452 and now contains some other things.



Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
Co-authored-by: Yoh Tanimoto <57562556+yoh-tanimoto@users.noreply.github.com>
@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Nov 15, 2024

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title feat(Analysis/InnerProductSpace/Dual, Analysis/Normed/Group/SeparationQuotient): add null subspaces [Merged by Bors] - feat(Analysis/InnerProductSpace/Dual, Analysis/Normed/Group/SeparationQuotient): add null subspaces Nov 15, 2024
@mathlib-bors mathlib-bors bot closed this Nov 15, 2024
@mathlib-bors mathlib-bors bot deleted the yoh-tanimoto-innerproductspace-quotient branch November 15, 2024 20:19
TobiasLeichtfried pushed a commit that referenced this pull request Nov 21, 2024
…nQuotient): add null subspaces (#16707)

Define the null submodule in an `InnerProductSpace` and the null subgroup in a `NormedAddCommGroup` and prove basic properties.

~~Define the null space in an `InnerProductSpace` without `definite` and add `InnerProduceSpace` structure to the quotient by the null space.~~ 

Motivation: This PR has evolved from a PR defining the `SeparationQuotient` for `InnerProductSpace`. That has been done in #17452 and now contains some other things.



Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
Co-authored-by: Yoh Tanimoto <57562556+yoh-tanimoto@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

delegated This pull request has been delegated to the PR author (or occasionally another non-maintainer). t-analysis Analysis (normed *, calculus)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants