Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Docu invariants lin. red. groups (Lakshmi Ramesh and Wolfram Decker) #3443

Merged
merged 4 commits into from
Feb 28, 2024

Conversation

wdecker
Copy link
Collaborator

@wdecker wdecker commented Feb 27, 2024

…d Wolfram Decker)

@wdecker wdecker changed the title Docu invariants linearly reductive groups (joint by Lakshmi Ramesh an… Docu invariants lin. red. groups (Lakshmi Ramesh and Wolfram Decker) Feb 27, 2024
@wdecker
Copy link
Collaborator Author

wdecker commented Feb 27, 2024

What is the status quo here?

  1. This documents functionality used in the book.
  2. There is additional functionality to be documented later.
  3. There is additional functionality under development.

@wdecker wdecker added the backport 1.0.x Should be backported to the release 1.0 branch label Feb 27, 2024
@wdecker wdecker requested a review from joschmitt February 27, 2024 17:21
Copy link

codecov bot commented Feb 27, 2024

Codecov Report

Merging #3443 (93b3cee) into master (3c5f7fe) will increase coverage by 0.01%.
The diff coverage is 42.10%.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #3443      +/-   ##
==========================================
+ Coverage   81.93%   81.94%   +0.01%     
==========================================
  Files         561      561              
  Lines       75170    75180      +10     
==========================================
+ Hits        61588    61607      +19     
+ Misses      13582    13573       -9     
Files Coverage Δ
...imental/InvariantTheory/src/TorusInvariantsFast.jl 100.00% <100.00%> (ø)
...xperimental/InvariantTheory/src/InvariantTheory.jl 87.38% <31.25%> (+3.57%) ⬆️

... and 1 file with indirect coverage changes

experimental/InvariantTheory/src/InvariantTheory.jl Outdated Show resolved Hide resolved
@doc raw"""
linearly_reductive_group(sym::Symbol, m::Int, R::MPolyRing)

If `sym` stands for implementing the special linear group, return SL$(m, K)$, where $K$ is the base field
Copy link
Member

Choose a reason for hiding this comment

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

Similar to above.

function affine_algebra(R::RedGrpInvRing)
V = fundamental_invariants(R)
s = length(V)
S,t = polynomial_ring(field(group(representation(R))), "t"=>1:s)
Copy link
Member

Choose a reason for hiding this comment

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

Assuming the fundamental invariants are homogeneous, we could/should grade this polynomial ring appropriately.
Also, the presentation as affine algebra should be cached in the invariant ring.

This can be filed under "future improvements".

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

@joschmitt As far as I can see, the ring is NOT graded for finite groups. Or?

Copy link
Member

Choose a reason for hiding this comment

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

It is graded:

julia> RG = invariant_ring(matrix_group(QQ[-1 0 ; 0 -1]));

julia> A, AtoR = affine_algebra(RG);

julia> A
Quotient
  of multivariate polynomial ring in 3 variables over QQ graded by
    y1 -> [2]
    y2 -> [2]
    y3 -> [2]
  by ideal (-y1*y3 + y2^2)

docs/src/InvariantTheory/reductive_groups.md Show resolved Hide resolved
characteristic(fld) == 0 || error("Characteristic should be 0 for linearly reductive groups")
G.field = fld
@req m^2 == ngens(pring) "ring not compatible"
G.group = (sym,m)
G.reynolds_operator = reynolds_slm
M = matrix(pring, m, m, gens(pring))
M = transpose(matrix(pring, m, m, gens(pring)))
Copy link
Member

Choose a reason for hiding this comment

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

That's not a docu change but a change in behavior. Is this covered by a test? What is it fixing?

(Not arguing against this, I have no idea, but I also don't want this to accidentally slip through)

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

This is correct now and fits with what we write in the book.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

It also fits with Sturmfels' book.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

And, it fits with the Disquisitiones Arithmetica.

Copy link
Member

Choose a reason for hiding this comment

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

As discussed: I am happy to trust you this is correct as in: fits what we document and fits our book.

That it fits other books or papers only is relevant if we establish that they use exact same conventions as we and hence are supposed to give identical results. I had a look at that a few months ago, but I didn't keep my notes, and don't have time to repeat this right now. Anyway, as I already wrote, I am happy to trust you, I just want it to be explicit and not "by oversight" ;-).

BTW, if we verified it fits with the convention in those publications, but does not fit with the conventions in Derksen and Kemper; then I think we should actually point that out in the documentation, perhaps even with an example, as this is of course highly relevant for users of our code. And since we refer to e.g. Derksen/Derksen-Kemper in there, this is doubly important as a user might expect the reverse, or not even be aware of the differences in conventions.

(Ideally we would also state how it compares to Singular and Magma conventions, I guess?)

Copy link
Member

Choose a reason for hiding this comment

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

(That's not a blocker for this PR, of course, just something "nice to have")

@benlorenz benlorenz mentioned this pull request Feb 28, 2024
31 tasks
@wdecker
Copy link
Collaborator Author

wdecker commented Feb 28, 2024

@fingolfin, @joschmitt: We believe that we adressed all your remarks. Please check.

Copy link
Member

@joschmitt joschmitt left a comment

Choose a reason for hiding this comment

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

I added one more doctest.

@fingolfin fingolfin enabled auto-merge (squash) February 28, 2024 15:32
@fingolfin fingolfin merged commit 73ba787 into master Feb 28, 2024
21 of 24 checks passed
@fingolfin fingolfin deleted the Wolfram branch February 28, 2024 16:32
benlorenz pushed a commit that referenced this pull request Feb 28, 2024
@benlorenz benlorenz removed the backport 1.0.x Should be backported to the release 1.0 branch label Feb 29, 2024
benlorenz added a commit that referenced this pull request Feb 29, 2024
- Add QQBar docs to the manual #3423
- do not show the OscarInterface banner #3422
- fix bugs in all_OD_infos #3419
- Ep/ Rename Spec to AffineScheme #3345 #3425
- Remove two mentions of Arb_jll #3431
- Tweak epimorphism_from_free_group #3430
- CI: re-enable nightly #3435
- support gen(G::GAPGroup, 0) #3332
- Align all_*_groups methods some more #3433
- Add all_perfect_groups #3434
- Add all_primitive_groups and all_transitive_groups variants taking a single int or int range #3404
- fix a docstring #3436
- Fixes multivariate division #3396
- Docu invariants tori #3428
- Improve docstrings for is_conjugate/is_conjugate_with_data. #3384
- Fix ambient_module(M::SubquoModule) #3448
- Bugfix for printing of affine schemes #3437
- Bugfix for bugfix for printing of affine schemes #3445
- Update OSCAR banner #3410
- Docu invariants lin. red. groups (Lakshmi Ramesh and Wolfram Decker) #3443
- add od_from_atlas_group, od_from_p_subgroup, and helpers #3444
- Unexport normalise #3453
- support group properties for character tables #3449
- add docstrings for acting_group and action_function #3432 (exports are used in new groups code for the book)
- Adjust to renaming of rank(A::FinGenAbGroup) to torsion_free_rank(A::FinGenAbGroup) #3457
- Ensure fp_group(G) transfers group attributes #3464
- Added comment on convention #3467
- Export weierstrass_chart_on_minimal_model and patch transform_to_weierstrass #3458
- Fix a doc signature #3466
- Grading + caching for affine algebra of torus invariants #3469
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants