Skip to content

[Merged by Bors] - feat: Scaling of affine bases#14863

Closed
YaelDillies wants to merge 13 commits intomasterfrom
affine_basis_smul
Closed

[Merged by Bors] - feat: Scaling of affine bases#14863
YaelDillies wants to merge 13 commits intomasterfrom
affine_basis_smul

Conversation

@YaelDillies
Copy link
Copy Markdown
Contributor

@YaelDillies YaelDillies commented Jul 18, 2024

Given a group G acting on the ring k, provide the G-action over the k-affine bases of a k-module V.


This could be generalised using some IsScalarTower conditions but I'm a bit lazy to sort out exactly what those are and what API we are missing.

Open in Gitpod

@YaelDillies YaelDillies added the t-euclidean-geometry Affine and axiomatic geometry label Jul 18, 2024
@YaelDillies YaelDillies requested a review from eric-wieser July 18, 2024 09:33
@github-actions
Copy link
Copy Markdown

github-actions bot commented Jul 18, 2024

PR summary feee1d67b9

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference

Declarations diff

+ affineIndependent_smul
+ basisOf_smul
+ coord_smul
+ direction_smul
+ instMulAction
+ instSMul
+ instance [SMul G G'] [IsScalarTower G G' V] : IsScalarTower G G' (AffineBasis ι k V)
+ instance [SMulCommClass G G' V] : SMulCommClass G G' (AffineBasis ι k V)
+ mulAction
+ pointwiseSMul
+ pointwiseVAdd
+ reindex_smul
+ smul_bot
+ smul_eq_map
+ smul_mem_smul_iff
+ smul_mem_smul_iff_of_isUnit
+ smul_mem_smul_iff₀
+ smul_span
+ smul_top
+ weightedVSubOfPoint_smul
+ weightedVSub_smul
+ ⟨AffineIndependent.of_smul,
++ coe_smul

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.

Provide the multiplication action of the units of the ring `k` over the `k`-affine bases of a `k`-module `V`.
rw [Pi.smul_def, ← smul_set_range, Units.smul_def, ← AffineSubspace.smul_span, b.tot,
AffineSubspace.smul_top a.isUnit] }

@[simp, norm_cast] lemma coe_smul (a : kˣ) (b : AffineBasis ι k V) : ⇑(a • b) = a • ⇑b := rfl
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.

Can you add some lemmas about the other basic operations too, like we did for vadd?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

The ones I don't have here are the ones I failed to prove. Feel free to add them yourself though

@[simp] lemma smul_top (ha : IsUnit a) : a • (⊤ : AffineSubspace k V) = ⊤ := by
ext x; simpa [smul_eq_map, map_top] using ⟨ha.unit⁻¹ • x, smul_inv_smul ha.unit _⟩

lemma smul_span (a : M) (s : Set V) : a • affineSpan k s = affineSpan k (a • s) := map_span _ s
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.

Suggested change
lemma smul_span (a : M) (s : Set V) : a • affineSpan k s = affineSpan k (a • s) := map_span _ s
lemma smul_affineSpan (a : M) (s : Set V) : a • affineSpan k s = affineSpan k (a • s) := map_span _ s

(unless there is precedent otherwise)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Sadly, there is precedent here: AffineSubspace.span_union. I would like to clean things up but I already have too many things on my plate

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+

Please fix the PR description before merging, it no longer reflects the state of the PR

@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Aug 12, 2024

✌️ YaelDillies 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 Aug 12, 2024
@YaelDillies
Copy link
Copy Markdown
Contributor Author

bors merge

@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Aug 13, 2024

Canceled.

@YaelDillies
Copy link
Copy Markdown
Contributor Author

bors merge

mathlib-bors bot pushed a commit that referenced this pull request Aug 13, 2024
Given a group `G` acting on the ring `k`, provide the `G`-action over the `k`-affine bases of a `k`-module `V`.




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

mathlib-bors bot commented Aug 13, 2024

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title feat: Scaling of affine bases [Merged by Bors] - feat: Scaling of affine bases Aug 13, 2024
@mathlib-bors mathlib-bors bot closed this Aug 13, 2024
@mathlib-bors mathlib-bors bot deleted the affine_basis_smul branch August 13, 2024 09:26
bjoernkjoshanssen pushed a commit that referenced this pull request Sep 9, 2024
Given a group `G` acting on the ring `k`, provide the `G`-action over the `k`-affine bases of a `k`-module `V`.




Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
bjoernkjoshanssen pushed a commit that referenced this pull request Sep 9, 2024
Given a group `G` acting on the ring `k`, provide the `G`-action over the `k`-affine bases of a `k`-module `V`.




Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
bjoernkjoshanssen pushed a commit that referenced this pull request Sep 12, 2024
Given a group `G` acting on the ring `k`, provide the `G`-action over the `k`-affine bases of a `k`-module `V`.




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). t-euclidean-geometry Affine and axiomatic geometry

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants