sagemath / sage

Main repository of SageMath
https://www.sagemath.org
Other
1.39k stars 473 forks source link

Nilpotent, abelian and cyclic numbers #32464

Open giorgosgiapis opened 3 years ago

giorgosgiapis commented 3 years ago

Add methods to check whether a number is nilpotent, abelian, or cyclic. A number n is called nilpotent (abelian/cyclic) if every group of order n is nilpotent (abelian/cyclic). More details about these numbers can be found here: http://www2.math.ou.edu/~shankar/papers/nil2.pdf.

Component: group theory

Keywords: nilpotent, abelian, cyclic

Author: Georgios Giapitzakis Tzintanos

Branch/Commit: u/gh-giorgosgiapis/nilpotent_numbers @ d0e5576

Issue created by migration from https://trac.sagemath.org/ticket/32464

giorgosgiapis commented 3 years ago

Changed keywords from none to nilpotent, abelian, cyclic

giorgosgiapis commented 3 years ago

Description changed:

--- 
+++ 
@@ -1 +1 @@
-
+Add methods to check whether a number is nilpotent, abelian, or cyclic. A number `n` is called nilpotent (abelian/cyclic) if every group of order `n` is nilpotent (abelian/cyclic). More details about these numbers can be found here: [http://www2.math.ou.edu/~shankar/papers/nil2.pdf](http://www2.math.ou.edu/~shankar/papers/nil2.pdf).
giorgosgiapis commented 3 years ago

Branch: u/gh-giorgosgiapis/nilpotent_numbers

giorgosgiapis commented 3 years ago

New commits:

d0e5576Added checks for nilpotent, abelian and cyclic numbers
giorgosgiapis commented 3 years ago

Commit: d0e5576

giorgosgiapis commented 3 years ago

Author: Georgios Giapitzakis Tzintanos

mkoeppe commented 2 years ago
comment:5

Stalled in needs_review or needs_info; likely won't make it into Sage 9.5.

DaveWitteMorris commented 2 years ago
comment:7

I like the idea, but I think it would be much more useful to have a single function that combines all three of these (and does more). Perhaps the function should be:

exists_group_of_order(
    n, 
    *,  # this means that the remaining arguments are keyword-only
    cyclic=None, 
    abelian=None, 
    nilpotent=None,
    solvable=None,
    simple=None
    )

For example:

Or perhaps this should be a method of the Integer class that is named is_order_of_group. (Other keywords could be added, such as perfect, but I think the five that I already named are the most important.)

DaveWitteMorris commented 2 years ago
comment:8

FYI: Methods for nilpotent, abelian and cyclic numbers were added to sympy in version 1.11 https://github.com/sympy/sympy/pull/23329.