Skip to content

[Merged by Bors] - feat(Algebra/DirectSum): getting a map between directsums by giving the map on components#22354

Closed
xyzw12345 wants to merge 11 commits intomasterfrom
xyzw12345_DirectSum
Closed

[Merged by Bors] - feat(Algebra/DirectSum): getting a map between directsums by giving the map on components#22354
xyzw12345 wants to merge 11 commits intomasterfrom
xyzw12345_DirectSum

Conversation

@xyzw12345
Copy link
Copy Markdown
Collaborator

@xyzw12345 xyzw12345 commented Feb 27, 2025

This PR defines the map obtained between DirectSums by giving the component-wise mapping. More specifically, it creates a homomorphism DirectSum.map f : (⨁ i, α i) →+ ⨁ i, β i from the component-wise map f : ∀(i : ι), α i →+ β i. We also proved some basic properties of this function. This construction is expected to be used in things related to graded rings.

The linear version of this map was added already in #20265.


Open in Gitpod

#22279 depends on this PR.

@github-actions github-actions bot added the new-contributor This PR was made by a contributor with at most 5 merged PRs. Welcome to the community! label Feb 27, 2025
@github-actions
Copy link
Copy Markdown

github-actions bot commented Feb 27, 2025

PR summary 28256e0bfc

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference

Declarations diff

+ lmap_comp
+ lmap_eq_iff
+ lmap_eq_map
+ lmap_id
+ lmap_of
+ lmap_surjective
+ map
+ mapRange_surjective
+ map_apply
+ map_comp
+ map_eq_iff
+ map_id
+ map_injective
+ map_of
+ map_surjective
+ toAddMonoidHom_lmap

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 Feb 27, 2025
@Paul-Lez Paul-Lez self-requested a review February 27, 2025 11:24
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.

Thanks! There are a few minor issues described below. Mainly just showing you the way we do things in Mathlib.

@j-loreaux j-loreaux added the awaiting-author A reviewer has asked the author a question or requested changes. label Feb 28, 2025
@xyzw12345
Copy link
Copy Markdown
Collaborator Author

I've updated the linearMap version by now, and the definitions are renamed similarly to those appearing in DFinsupp section (so that it's probably easier to find?).

@xyzw12345 xyzw12345 removed the awaiting-author A reviewer has asked the author a question or requested changes. label Mar 1, 2025
@eric-wieser
Copy link
Copy Markdown
Member

and the definitions are renamed similarly to those appearing in DFinsupp section (so that it's probably easier to find?).

I think map is a better name; one of the key differences between DFinsupp and DirectSum is the deliberate choice to use different terminology (eg of vs single).

Perhaps map and lmap would be reasonable names?

@eric-wieser eric-wieser added the awaiting-author A reviewer has asked the author a question or requested changes. label Mar 1, 2025
@xyzw12345
Copy link
Copy Markdown
Collaborator Author

xyzw12345 commented Mar 1, 2025

OK, that makes sense as well.

Edit: I found that DirectSum.lmap actually existed in mathlib, so I just tried to imitate what is done there and added DFinsupp.mapRange_surjective as a iff version (following DFinsupp.mapRange_injective).

@xyzw12345 xyzw12345 removed the awaiting-author A reviewer has asked the author a question or requested changes. label Mar 2, 2025
@xyzw12345 xyzw12345 requested a review from eric-wieser March 2, 2025 10:35
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'm happy with this now @eric-wieser, but I'll let you decide:

bors d=eric-wieser

@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Mar 2, 2025

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

@ghost ghost added the delegated This pull request has been delegated to the PR author (or occasionally another non-maintainer). label Mar 2, 2025
@xyzw12345 xyzw12345 requested a review from eric-wieser March 4, 2025 13:44
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+

One very minor nit

@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Mar 4, 2025

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

@xyzw12345
Copy link
Copy Markdown
Collaborator Author

bors r+

mathlib-bors bot pushed a commit that referenced this pull request Mar 5, 2025
…he map on components (#22354)

This PR defines the map obtained between `DirectSum`s by giving the component-wise mapping. More specifically, it creates a homomorphism `DirectSum.map f : (⨁ i, α i) →+ ⨁ i, β i` from the component-wise map `f : ∀(i : ι), α i →+ β i`. We also proved some basic properties of this function. This construction is expected to be used in things related to graded rings.

The linear version of this map was added already in #20265.



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

mathlib-bors bot commented Mar 5, 2025

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title feat(Algebra/DirectSum): getting a map between directsums by giving the map on components [Merged by Bors] - feat(Algebra/DirectSum): getting a map between directsums by giving the map on components Mar 5, 2025
@mathlib-bors mathlib-bors bot closed this Mar 5, 2025
@mathlib-bors mathlib-bors bot deleted the xyzw12345_DirectSum branch March 5, 2025 03:38
imbrem pushed a commit that referenced this pull request Mar 6, 2025
…he map on components (#22354)

This PR defines the map obtained between `DirectSum`s by giving the component-wise mapping. More specifically, it creates a homomorphism `DirectSum.map f : (⨁ i, α i) →+ ⨁ i, β i` from the component-wise map `f : ∀(i : ι), α i →+ β i`. We also proved some basic properties of this function. This construction is expected to be used in things related to graded rings.

The linear version of this map was added already in #20265.



Co-authored-by: Eric Wieser <wieser.eric@gmail.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). new-contributor This PR was made by a contributor with at most 5 merged PRs. Welcome to the community! t-algebra Algebra (groups, rings, fields, etc)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants