-
Notifications
You must be signed in to change notification settings - Fork 134
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
Experimental: Partitioned Permutations #3439
Experimental: Partitioned Permutations #3439
Conversation
Please add both folders to Oscar.jl/experimental/Experimental.jl Lines 15 to 22 in 222c200
|
Thanks for your contribution! I have not much background in the mathematics involved, but will point out some general coding things.
Please add both folders in Oscar.jl/experimental/Experimental.jl Line 19 in 222c200
together with a comment like the one already existent to specify the order of inclusion. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll block merging until the comment of @benlorenz has been addressed. There is a dedicated mechanism for loading certain packages in an ordered fashion. The side effect is that if a dependency that is in experimental gets discarded, then so will any package depending thereupon.
Since this adds functions for |
experimental/PartitionedPermutations/src/EnumeratePartitionedPermutations.jl
Outdated
Show resolved
Hide resolved
experimental/PartitionedPermutations/src/PartitionedPermutation.jl
Outdated
Show resolved
Hide resolved
experimental/PartitionedPermutations/src/SetPartitionFunctions.jl
Outdated
Show resolved
Hide resolved
experimental/PartitionedPermutations/src/SetPartitionFunctions.jl
Outdated
Show resolved
Hide resolved
experimental/PartitionedPermutations/src/SetPartitionFunctions.jl
Outdated
Show resolved
Hide resolved
experimental/PartitionedPermutations/src/SetPartitionFunctions.jl
Outdated
Show resolved
Hide resolved
experimental/PartitionedPermutations/src/SetPartitionFunctions.jl
Outdated
Show resolved
Hide resolved
The SetPartitions do not exactly contribute to Free Probability Theory but rather to certain compact quantum groups. However, it is very much an option to move the functions for SetPartitions to the corresponding module. |
I think that would be great.
OK, that makes sense. I think what we want to avoid is having too many separated (but interdependent) modules in experimental. So if there are more things incoming in the same "broad" area (it could be "Free probability theory and quantum groups"), at some point we can and probably should think about consolidating things. Makes it also easier to move things from experimental to src (which should be the endgame). Edit: These are just some things to keep in mind, nothing that should hold up this PR here. |
experimental/PartitionedPermutations/src/PartitionedPermutation.jl
Outdated
Show resolved
Hide resolved
experimental/PartitionedPermutations/src/EnumeratePartitionedPermutations.jl
Outdated
Show resolved
Hide resolved
experimental/PartitionedPermutations/src/PartitionedPermutations.jl
Outdated
Show resolved
Hide resolved
experimental/PartitionedPermutations/src/EnumeratePartitionedPermutations.jl
Outdated
Show resolved
Hide resolved
experimental/PartitionedPermutations/src/PartitionedPermutation.jl
Outdated
Show resolved
Hide resolved
experimental/PartitionedPermutations/src/PartitionedPermutationProducts.jl
Outdated
Show resolved
Hide resolved
experimental/PartitionedPermutations/src/PartitionedPermutations.jl
Outdated
Show resolved
Hide resolved
6e5e31a
to
8e08ccb
Compare
@BjSchaefer Please mark the pull request as "ready for review" when you are done. I assume this is the case, but I did not follow all of the discussion, so I am not sure. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you!
I don't know about the mathematics, but for experimental
this certainly looks good enough.
Whoever has write access to master: this can be merged from my point of view.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Two small nitpicks, otherwise no objections from my side. But as Johannes, I am not familiar with the mathematics involved.
experimental/PartitionedPermutations/src/PartitionedPermutations.jl
Outdated
Show resolved
Hide resolved
experimental/PartitionedPermutations/src/PartitionedPermutationProducts.jl
Outdated
Show resolved
Hide resolved
Co-authored-by: Lars Göttgens <[email protected]>
Co-authored-by: Lars Göttgens <[email protected]>
Head branch was pushed to by a user without write access
On Tue, Apr 09, 2024 at 05:33:21AM -0700, Lars Göttgens wrote:
@lgoettgens commented on this pull request.
> + upper_points(cycle_partition(perm(symmetric_group(length(pp_1)), 1:length(pp_1)))))
+ end
+end
+
+"""
+ factorization_partitioned_permutation(pp::PartitionedPermutation)
+
+Return the factorization of `pp` in form of a set of 2-tuples.
+
+# Examples
+```jldoctest
+julia> length(factorization_partitioned_permutation(partitioned_permutation(perm(symmetric_group(3), [2, 1, 3]), [1, 1, 2])))
+2
+```
+"""
+function factorization_partitioned_permutation(pp::PartitionedPermutation)
Sorry for not thinking this through before posting. `factorization`(s) seems to already exist in the Oscar universe while `factorize` does not. So `factorization` should be the preferred name I think.
factor is the usual Oscar name to obtain a factorisation.
factorisations is for the special case of algebraic integers where all
factorisations into irreducibles can be computed, but a single
factorisation should "factor"
I'd actually prefer:
function factor(pp::PartitionedPermutation)
as the signature - unless there is a reason to repeat the paritioned
permutation bit in the name and the signature
…
--
Reply to this email directly or view it on GitHub:
#3439 (comment)
You are receiving this because you are subscribed to this thread.
Message ID: ***@***.***>
|
Thanks claus! I didn't remember this one. |
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## master #3439 +/- ##
==========================================
- Coverage 82.17% 81.72% -0.45%
==========================================
Files 568 573 +5
Lines 77169 77488 +319
==========================================
- Hits 63410 63330 -80
- Misses 13759 14158 +399
|
This is a new module for working with partitioned permutations which are used in Free Probablility Theory. For more information see the Readme file.
The module uses the module SetPartitions which is currently in the folder experimentals. To compile properly, we needed to rename the project folder to ZPartitionedPermutations so that this folder is below the folder SetPartitions within the folder experimentals.