@@ -143,6 +143,7 @@ def make_order_key(order):
143143 CheckCol ("solv" , "group.solvable" , "Solvable" ),
144144 MathCol ("nilpotency" , "group.nilpotent" , "Nil. class" , short_title = "nilpotency class" , default = False ),
145145 MathCol ("auts" , "gg.field_automorphisms" , r"$\#\Aut(F/K)$" , short_title = "field auts" ),
146+ MathCol ("transitivity" , "gg.transitivity" , "Transitivity" , short_title = "transitivity" ,default = lambda info : info .get ("transitivity" )),
146147 MathCol ("num_conj_classes" , "gg.conjugacy_classes" , "Conj. classes" , short_title = "conjugacy classes" , default = False ),
147148 MultiProcessedCol ("subfields" , "gg.subfields" , "Subfields" ,
148149 ["subfields" , "cache" ],
@@ -154,7 +155,7 @@ def make_order_key(order):
154155 apply_download = lambda s , b , c : [s , b ])
155156],
156157
157- db_cols = ["bound_siblings" , "abstract_label" , "label" , "name" , "n" , "order" , "parity" , "pretty" , "siblings" , "solv" , "subfields" , "nilpotency" , "num_conj_classes" , "auts" ])
158+ db_cols = ["bound_siblings" , "abstract_label" , "label" , "name" , "n" , "order" , "parity" , "pretty" , "siblings" , "solv" , "subfields" , "nilpotency" , "num_conj_classes" , "auts" , "transitivity" ])
158159#gg_columns.below_download = r"<p>Results are complete for degrees $\leq 23$.</p>"
159160
160161def gg_postprocess (res , info , query ):
@@ -228,6 +229,7 @@ def galois_group_search(info, query):
228229 parse_ints (info ,query ,'order' )
229230 parse_ints (info ,query ,'arith_equiv' )
230231 parse_ints (info ,query ,'nilpotency' )
232+ parse_ints (info ,query ,'transitivity' )
231233 parse_ints (info ,query ,'auts' )
232234 parse_galgrp (info , query , qfield = ['label' ,'n' ], name = 'Galois group' , field = 'gal' )
233235 for param in ('cyc' , 'solv' , 'prim' ):
@@ -335,6 +337,7 @@ def render_group_webpage(args):
335337 ('Cyclic' , yesno (data ['cyc' ])),
336338 ('Abelian' , yesno (data ['ab' ])),
337339 ('Solvable' , yesno (data ['solv' ])),
340+ ('Transitivity' , prop_int_pretty (data ['transitivity' ])),
338341 ('Primitive' , yesno (data ['prim' ])),
339342 ('$p$-group' , yesno (pgroup )),
340343 ]
@@ -353,7 +356,7 @@ def render_group_webpage(args):
353356 data ['dispv' ] = sparse_cyclotomic_to_mathml
354357 data ['malle_a' ] = wgg .malle_a
355358 downloads = []
356- for lang in [("Magma" , "magma" ), ("Oscar" , "oscar" ), ("SageMath" , "sage" )]:
359+ for lang in [("Gap" , "gap" ), ( " Magma" , "magma" ), ("Oscar" , "oscar" ), ("SageMath" , "sage" )]:
357360 downloads .append (('{} commands' .format (lang [0 ]), url_for (".gg_code_download" , label = label , download_type = lang [1 ])))
358361 downloads .append (('Underlying data' , url_for (".gg_data" , label = label )))
359362 # split the label so that breadcrumbs point to a search for this object's degree
@@ -507,6 +510,12 @@ def __init__(self):
507510 knowl = "gg.tnumber" ,
508511 example = "3" ,
509512 example_span = "3 or 4,6 or 2..5 or 4,6..8" )
513+ transitivity = TextBox (
514+ name = "transitivity" ,
515+ label = "Transitivity" ,
516+ knowl = "gg.transitivity" ,
517+ example = "2" ,
518+ example_span = "2 or 4,6 or 2..5 or 4,6..8" )
510519 order = TextBox (
511520 name = "order" ,
512521 label = "Order" ,
@@ -543,9 +552,9 @@ def __init__(self):
543552 example_span = "1 or 2,3 or 1..5 or 1,3..10" )
544553 count = CountBox ()
545554
546- self .browse_array = [[n , parity ], [t , cyc ], [order , solv ], [nilpotency , prim ], [arith_equiv , aut ], [gal ], [count ]]
555+ self .browse_array = [[n , parity ], [t , cyc ], [order , solv ], [nilpotency , prim ], [arith_equiv , aut ], [gal ], [count , transitivity ]]
547556
548- self .refine_array = [[parity , cyc , solv , prim , arith_equiv ], [n , t , order , gal , nilpotency ], [aut ]]
557+ self .refine_array = [[parity , cyc , solv , prim , arith_equiv ], [n , t , order , gal , nilpotency ], [aut , transitivity ]]
549558
550559def yesone (s ):
551560 return "yes" if s in ["yes" , 1 ] else "no"
0 commit comments