Skip to content

[Merged by Bors] - feat: add MultilinearMap.dfinsuppFamily and MultilinearMap.piFamily#17881

Closed
eric-wieser wants to merge 21 commits intomasterfrom
eric-wieser/dfinsupp-cursedComp
Closed

[Merged by Bors] - feat: add MultilinearMap.dfinsuppFamily and MultilinearMap.piFamily#17881
eric-wieser wants to merge 21 commits intomasterfrom
eric-wieser/dfinsupp-cursedComp

Conversation

@eric-wieser
Copy link
Copy Markdown
Member

@eric-wieser eric-wieser commented Oct 17, 2024

This is the analog to Fintype.piFinset

Since this is computable and rather confusing, I've included a test with a concrete evaluation.


Open in Gitpod

@eric-wieser eric-wieser added the t-data Data (lists, quotients, numbers, etc) label Oct 17, 2024
@github-actions
Copy link
Copy Markdown

github-actions bot commented Oct 17, 2024

PR summary 44c1065481

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference
Mathlib.LinearAlgebra.Multilinear.Pi 730
Mathlib.LinearAlgebra.Multilinear.DFinsupp 862

Declarations diff

+ dfinsuppFamily
+ dfinsuppFamily_add
+ dfinsuppFamily_compLinearMap_lsingle
+ dfinsuppFamily_single
+ dfinsuppFamily_smul
+ dfinsuppFamily_zero
+ dfinsuppFamilyₗ
+ piFamily
+ piFamily_add
+ piFamily_compLinearMap_lsingle
+ piFamily_single
+ piFamily_smul
+ piFamily_zero
+ piFamilyₗ
+ support_dfinsuppFamily_subset

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.

@eric-wieser eric-wieser force-pushed the eric-wieser/dfinsupp-cursedComp branch from 81ea642 to 32ad4d3 Compare October 17, 2024 22:46
@mathlib4-dependent-issues-bot mathlib4-dependent-issues-bot added the blocked-by-other-PR This PR depends on another PR (this label is automatically managed by a bot) label Oct 17, 2024
@eric-wieser eric-wieser added t-algebra Algebra (groups, rings, fields, etc) and removed blocked-by-other-PR This PR depends on another PR (this label is automatically managed by a bot) labels Oct 18, 2024
@mathlib4-dependent-issues-bot
Copy link
Copy Markdown
Collaborator

This PR/issue depends on:

@eric-wieser eric-wieser changed the title feat: add DFinsupp.piMultilinear feat: add MultilinearMap.dfinsuppFamily and MultilinearMap.piFamily Oct 19, 2024
Comment on lines +34 to +49
/--
Given a family of indices `κ` and a multilinear map `f p` for each way `p` to select one index from
each family, map a family of functions `x` into a function from each selection.
-/
@[simps]
def piFamily (f : Π (p : Π i, κ i), MultilinearMap R (fun i ↦ M i (p i)) (N p)) :
MultilinearMap R (fun i => Π j : κ i, M i j) (Π t : Π i, κ i, N t) where
toFun x := fun p => f p (fun i => x i (p i))
map_add' {dec} m i x y := funext fun p => by
cases Subsingleton.elim dec (by infer_instance)
dsimp
simp_rw [Function.apply_update (fun i m => m (p i)) m, Pi.add_apply, (f p).map_add]
map_smul' {dec} m i c x := funext fun p => by
cases Subsingleton.elim dec (by infer_instance)
dsimp
simp_rw [Function.apply_update (fun i m => m (p i)) m, Pi.smul_apply, (f p).map_smul]
Copy link
Copy Markdown
Member Author

@eric-wieser eric-wieser Oct 19, 2024

Choose a reason for hiding this comment

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

@urkud, I added this one to make the naming question slightly easier; dfinsupp was really a distraction, and the same underlying function works on pi types too.

I'm happy to split the pi and dfinsupp parts into separate PRs if that's useful.

eric-wieser and others added 2 commits October 20, 2024 14:47
Co-authored-by: FR <zhao.yu-yang@foxmail.com>
Comment on lines +38 to +40
Given a family of indices `κ` and a multilinear map `f p` for each way `p` to select one index from
each family, map a family of finitely-supported functions `x` into a finitely-supported function
from each selection.
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.

I have trouble parsing this sentence.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Maybe

Suggested change
Given a family of indices ` and a multilinear map `f p` for each way `p` to select one index from
each family, map a family of finitely-supported functions `x` into a finitely-supported function
from each selection.
Given a family of indices ` and a multilinear map `f p` for each way `p` to select one index from
each family, `dfinsuppFamily f` maps a family of finitely-supported functions (one for each index i`)
into a finitely-supported function on the selection families `Π i, κ i`.

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.

Yes, that definitely helped me.

Comment on lines +35 to +36
Given a family of indices `κ` and a multilinear map `f p` for each way `p` to select one index from
each family, map a family of functions `x` into a function from each selection.
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.

Idem

@jcommelin
Copy link
Copy Markdown
Member

bors d+

@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Oct 26, 2024

✌️ 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.

@github-actions github-actions bot added the delegated This pull request has been delegated to the PR author (or occasionally another non-maintainer). label Oct 26, 2024
@eric-wieser
Copy link
Copy Markdown
Member Author

bors merge

@github-actions github-actions bot added the ready-to-merge This PR has been sent to bors. label Oct 27, 2024
mathlib-bors bot pushed a commit that referenced this pull request Oct 27, 2024
…y` (#17881)

This is the analog to `Fintype.piFinset`

Since this is computable and rather confusing, I've included a test with a concrete evaluation.



Co-authored-by: Eric Wieser <efw@google.com>
@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Oct 27, 2024

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title feat: add MultilinearMap.dfinsuppFamily and MultilinearMap.piFamily [Merged by Bors] - feat: add MultilinearMap.dfinsuppFamily and MultilinearMap.piFamily Oct 27, 2024
@mathlib-bors mathlib-bors bot closed this Oct 27, 2024
@mathlib-bors mathlib-bors bot deleted the eric-wieser/dfinsupp-cursedComp branch October 27, 2024 10:42
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). ready-to-merge This PR has been sent to bors. t-algebra Algebra (groups, rings, fields, etc) t-data Data (lists, quotients, numbers, etc)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants