Skip to content

feat(LinearAlgebra): add independent iSup to LinearPMap#25348

Closed
wwylele wants to merge 1 commit intomasterfrom
wwylele-hahn-linearpmap
Closed

feat(LinearAlgebra): add independent iSup to LinearPMap#25348
wwylele wants to merge 1 commit intomasterfrom
wwylele-hahn-linearpmap

Conversation

@wwylele
Copy link
Copy Markdown
Collaborator

@wwylele wwylele commented Jun 1, 2025

This is part of #25140. To obtain the Hahn embedding, we need to construct an partial linear map spanned by a family of submodules as the base case. This PR prepares for it.


Open in Gitpod

@github-actions github-actions bot added the large-import Automatically added label for PRs with a significant increase in transitive imports label Jun 1, 2025
@github-actions
Copy link
Copy Markdown

github-actions bot commented Jun 1, 2025

PR summary 99ad85425b

Import changes exceeding 2%

% File
+21.07% Mathlib.LinearAlgebra.LinearPMap

Import changes for modified files

Dependency changes

File Base Count Head Count Change
Mathlib.LinearAlgebra.LinearPMap 807 977 +170 (+21.07%)
Import changes for all files
Files Import difference
Mathlib.Algebra.Group.UniqueProds.VectorSpace 9
45 files Mathlib.Analysis.Calculus.TangentCone Mathlib.Analysis.Convex.Birkhoff Mathlib.Analysis.Convex.Caratheodory Mathlib.Analysis.Convex.Combination Mathlib.Analysis.Convex.Cone.Extension Mathlib.Analysis.Convex.Independent Mathlib.Analysis.Convex.Jensen Mathlib.Analysis.Convex.PartitionOfUnity Mathlib.Analysis.Convex.SimplicialComplex.Basic Mathlib.Analysis.Convex.StoneSeparation Mathlib.Analysis.Convex.StrictConvexSpace Mathlib.Analysis.Convex.Topology Mathlib.Analysis.Convex.TotallyBounded Mathlib.Analysis.Convex.Uniform Mathlib.Analysis.LocallyConvex.AbsConvex Mathlib.Analysis.LocallyConvex.Barrelled Mathlib.Analysis.LocallyConvex.Bounded Mathlib.Analysis.LocallyConvex.WeakDual Mathlib.Analysis.LocallyConvex.WithSeminorms Mathlib.Analysis.Normed.Affine.Simplex Mathlib.Analysis.Normed.Group.AddCircle Mathlib.Analysis.Normed.Module.Convex Mathlib.Analysis.Normed.Module.Ray Mathlib.Analysis.NormedSpace.BallAction Mathlib.Analysis.NormedSpace.ENormedSpace Mathlib.Analysis.NormedSpace.Extr Mathlib.Analysis.NormedSpace.HomeomorphBall Mathlib.Analysis.NormedSpace.Pointwise Mathlib.Analysis.NormedSpace.Real Mathlib.Analysis.NormedSpace.RieszLemma Mathlib.Analysis.NormedSpace.SphereNormEquiv Mathlib.GroupTheory.CosetCover Mathlib.LinearAlgebra.AffineSpace.Basis Mathlib.LinearAlgebra.AffineSpace.Independent Mathlib.LinearAlgebra.Basis.VectorSpace Mathlib.Topology.Algebra.Module.Cardinality Mathlib.Topology.Algebra.Module.LocallyConvex Mathlib.Topology.Algebra.Module.Multilinear.Bounded Mathlib.Topology.Algebra.Module.UniformConvergence Mathlib.Topology.CWComplex.Classical.Basic Mathlib.Topology.CWComplex.Classical.Finite Mathlib.Topology.Category.DeltaGenerated Mathlib.Topology.Compactness.DeltaGeneratedSpace Mathlib.Topology.ContinuousMap.LocallyConvex Mathlib.Topology.MetricSpace.PartitionOfUnity
10
Mathlib.Algebra.Category.Grp.LargeColimits Mathlib.Algebra.Category.Grp.Ulift 21
3 files Mathlib.Algebra.Category.Grp.EnoughInjectives Mathlib.Algebra.Category.Grp.Injective Mathlib.Algebra.Module.CharacterModule
26
Mathlib.Topology.Algebra.Module.LinearPMap 34
Mathlib.Algebra.Category.ModuleCat.Injective 90
Mathlib.Algebra.Module.Injective 158
Mathlib.LinearAlgebra.LinearPMap 170

Declarations diff

+ DFinsupp.linearEquiv_val_apply
+ DFinsupp.lsumEquiv
+ DFinsupp.lsumMap_injective
+ DFinsupp.lsumMap_surjective
+ DFinsupp.lsumMap_val_apply
+ domain_indepiSup
+ indepiSup
+ indepiSup_apply
+ indepiSup_apply_single
+ le_indepiSup
+ lsumMap

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).

@github-actions github-actions bot added the t-algebra Algebra (groups, rings, fields, etc) label Jun 1, 2025
@wwylele wwylele mentioned this pull request Jun 1, 2025
7 tasks

/-- `DFinsupp.lsum` as a linear map to iSup of submodules,
whose surjectivity is implied by `Submodule.mem_iSup_iff_exists_dfinsupp`. -/
def lsumMap (p : ι → Submodule R N) :
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.

This is very closely related to DirectSum.range_coeLinearMap (via LinearMap.codRestrict); I'll try to get back to this with a concrete suggetion within the next few days, if another reivewer doesn't beat me to it.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

@eric-wieser Have you got more suggestions? I almost forgot this myself...

@wwylele
Copy link
Copy Markdown
Collaborator Author

wwylele commented Jul 12, 2025

Closing as I have found a better way utilizing DirectSum

@wwylele wwylele closed this Jul 12, 2025
@YaelDillies YaelDillies deleted the wwylele-hahn-linearpmap branch August 18, 2025 07:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

large-import Automatically added label for PRs with a significant increase in transitive imports t-algebra Algebra (groups, rings, fields, etc)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants