⇤ ← Revision 1 as of 2021-08-05 15:32:46
Size: 5914
Comment:
|
Size: 6012
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 22: | Line 22: |
You can use this interact to call all the lists from the GAP library that are order less than or equal to your desired n value. | You can use this interact to call all the lists from the GAP library that are order less than or equal to your desired value. |
Line 27: | Line 27: |
pretty_print(html("<h1>Groups</h1>")) pretty_print(html("<h>put in the n and m<h>")) |
pretty_print(html("<h1>Version 1/h1>")) pretty_print(html("<h>Choose an upper bound for the order.<h>")) |
Line 54: | Line 54: |
You can use this interact to call all the lists from the GAP library that are between m and n | You can use this interact to call all the lists from the GAP library that have order between m and n |
Line 59: | Line 59: |
pretty_print(html("<h1>Groups</h1>")) pretty_print(html("<h>put in the n and m<h>")) |
pretty_print(html("<h1>Version 2</h1>")) pretty_print(html("<h>Choose an upper bound and a lower bound for the order.<h>")) |
Line 92: | Line 92: |
pretty_print(html("<h1>Groups</h1>")) pretty_print(html("<h>put in the n and m<h>")) |
pretty_print(html("<h1>Version 3</h1>")) pretty_print(html("<h>Choose a parameter.<h>")) |
Line 120: | Line 120: |
=== All groups of which meet certain parameters === | === All groups of which meet certain parameters, and direct/semi dircet === |
Line 128: | Line 128: |
pretty_print(html("<h1>Groups</h1>")) pretty_print(html("<h>put in the n and m<h>")) |
pretty_print(html("<h1>Version 4</h1>")) pretty_print(html("<h>Direct or Semidirect?<h>")) |
Sage Interactions - Groups
This page was first created for Google Summer of Code by Alexis Newton, with mentorship by Mckenzie West.
If you have group-related interactions that you are interested in adding to this page, please do so. You can also contact Alexis Newton at firstname.lastname@emory.edu.
goto interact main page
Contents
Basic Commands
explanation
All groups of order less than or equal to n
You can use this interact to call all the lists from the GAP library that are order less than or equal to your desired value.
xxxxxxxxxx
#Last edited 8/5/21 2:45pm
pretty_print(html("<h1>Version 1/h1>"))
pretty_print(html("<h>Choose an upper bound for the order.<h>"))
def order_n(n, *parameter, start=1):
below_order_n = gap('EmptyPlist(1)')
#documentation on AllSmallGroups command and Structure description
#is in the GAP System reference guide
for i in range(start,n+1):
g=gap(i).AllSmallGroups(*parameter)
for x in range(1,len(g)+1):
r=gap(g[x]).StructureDescription()
gap.Add(below_order_n,r)
#convert gap object to python string
below_order_n = libgap(below_order_n).sage()
return below_order_n
def foo(n = input_box(default='10', label="Upper Bound:")):
print(order_n(n))
All groups of order between m and n
You can use this interact to call all the lists from the GAP library that have order between m and n
xxxxxxxxxx
#Last edited 8/5/21 2:45pm
pretty_print(html("<h1>Version 2</h1>"))
pretty_print(html("<h>Choose an upper bound and a lower bound for the order.<h>"))
def order_n(n, *parameter, start=1):
below_order_n = gap('EmptyPlist(1)')
#documentation on AllSmallGroups command and Structure description
#is in the GAP System reference guide
for i in range(start,n+1):
g=gap(i).AllSmallGroups(*parameter)
for x in range(1,len(g)+1):
r=gap(g[x]).StructureDescription()
gap.Add(below_order_n,r)
#convert gap object to python string
below_order_n = libgap(below_order_n).sage()
return below_order_n
def foo(m = input_box(default='1', label="Lower Bound:"), n = input_box(default='10', label="Upper Bound:")):
print(order_n(n,start=m))
All groups of which meet certain parameters
You can use this interact to call all the lists from the GAP library that are order less than or equal to your desired n value.
xxxxxxxxxx
#Last edited 8/5/21 2:45pm
pretty_print(html("<h1>Version 3</h1>"))
pretty_print(html("<h>Choose a parameter.<h>"))
def order_n(n, *parameter, start=1):
below_order_n = gap('EmptyPlist(1)')
#documentation on AllSmallGroups command and Structure description
#is in the GAP System reference guide
for i in range(start,n+1):
g=gap(i).AllSmallGroups(*parameter)
for x in range(1,len(g)+1):
r=gap(g[x]).StructureDescription()
gap.Add(below_order_n,r)
#convert gap object to python string
below_order_n = libgap(below_order_n).sage()
return below_order_n
def foo(m = input_box(default='1', label="Lower Bound:"), n = input_box(default='10', label="Upper Bound:"), Parameter =
["IsGroup","IsAbelian","IsCyclic","IsSolvable","IsNilpotent","IsSimple","IsDihedralGroup",
"IsSymmetricGroup","IsAlternatingGroup","IsPerfectGroup","IsPolycyclicGroup"]):
print(order_n(n,Parameter,start=m))
All groups of which meet certain parameters, and direct/semi dircet
You can use this interact to call all the lists from the GAP library that are order less than or equal to your desired n value.
xxxxxxxxxx
#Last edited 8/5/21 2:45pm
pretty_print(html("<h1>Version 4</h1>"))
pretty_print(html("<h>Direct or Semidirect?<h>"))
def _directprod(order_n):
new_order_n = []
for i in range(0,len(order_n)):
word=order_n[i].split(' ')
if 'x' in word:
new_order_n.append(order_n[i])
return new_order_n
def _semidirectprod(order_n):
new_order_n = []
for i in range(0,len(order_n)):
word=order_n[i].split(' ')
if ':' in word:
new_order_n.append(order_n[i])
return new_order_n
def order_n(n, *parameter, start=1,directproduct=False, semidirectproduct=False):
below_order_n = gap('EmptyPlist(1)')
#documentation on AllSmallGroups command and Structure description
#is in the GAP System reference guide
for i in range(start,n+1):
g=gap(i).AllSmallGroups(*parameter)
for x in range(1,len(g)+1):
r=gap(g[x]).StructureDescription()
gap.Add(below_order_n,r)
#convert gap object to python string
below_order_n = libgap(below_order_n).sage()
#only print out direct or semi direct prod if asked
if directproduct == True:
below_order_n = _directprod(below_order_n)
if semidirectproduct == True:
below_order_n = _semidirectprod(below_order_n)
return below_order_n
def foo(m = input_box(default='1', label="Lower Bound:"), n = input_box(default='10', label="Upper Bound:"), Parameter =
["IsGroup","IsAbelian","IsCyclic","IsSolvable","IsNilpotent","IsSimple","IsDihedralGroup",
"IsSymmetricGroup","IsAlternatingGroup","IsPerfectGroup","IsPolycyclicGroup"], Direct = checkbox(default = False),
Semidirect = checkbox(default = False)):
if (Direct == True) and (Semidirect == True):
print(order_n(n,Parameter,start=m,directproduct=true, semidirectproduct=true))
if Direct == True and Semidirect == False:
print(order_n(n,Parameter,start=m,directproduct=true))
if Direct == False and Semidirect == True:
print(order_n(n,Parameter,start=m,semidirectproduct=true))