6767 abstract_group_display_knowl ,
6868 cc_data_to_gp_label ,
6969 gp_label_to_cc_data ,
70+ missing_subs ,
7071)
7172from .stats import GroupStats
7273
@@ -994,7 +995,7 @@ def get_trans_url(label):
994995 return url_for ("galois_groups.by_label" , label = trans_gp (label ))
995996
996997def display_url (label , tex ):
997- if label is None :
998+ if label is None or missing_subs ( label ) :
998999 if tex is None :
9991000 return ''
10001001 return f'${ tex } $'
@@ -1396,7 +1397,7 @@ def gp_link(gp_order,gp_counter, tex_cache):
13961397 MultiProcessedCol ("label" , "group.label_conjugacy_class" , "Label" ,["group_order" , "group_counter" , "label" ,"highlight_col" ],get_cc_url , download_col = "label" ),
13971398 MathCol ("order" , "group.order_conjugacy_class" , "Order" ),
13981399 MathCol ("size" , "group.size_conjugacy_class" , "Size" ),
1399- MultiProcessedCol ("center" , "group.subgroup. centralizer" , "Centralizer" , ["centralizer" , "group" , "sub_latex" ], char_to_sub , download_col = "centralizer" ),
1400+ MultiProcessedCol ("center" , "group.centralizer" , "Centralizer" , ["centralizer" , "group" , "sub_latex" ], char_to_sub , download_col = "centralizer" ),
14001401 ColGroup ("power_cols" ,"group.conjugacy_class.power_classes" , "Powers" ,
14011402 lambda info : [Power_col (i , info ["group_factors" ]) for i in range (len (info ["group_factors" ]))],
14021403 contingent = lambda info : info .get ("group_factors" ,True ), # group_factors not present when downloading
@@ -1786,7 +1787,7 @@ def subinfo_getsub(title, knowlid, lab):
17861787 ans += subinfo_getsub (
17871788 "Normal closure" , "group.subgroup.normal_closure" , wsg .normal_closure
17881789 )
1789- ans += subinfo_getsub ("Centralizer" , "group.subgroup. centralizer" , wsg .centralizer )
1790+ ans += subinfo_getsub ("Centralizer" , "group.centralizer" , wsg .centralizer )
17901791 ans += subinfo_getsub ("Core" , "group.core" , wsg .core )
17911792 # ans += '<tr><td>Coset action</td><td>%s</td></tr>\n' % wsg.coset_action_label
17921793 ## There was a bug in the Magma code computing generators, so we disable this for the moment
@@ -2925,8 +2926,8 @@ def group_data(label, ambient=None, aut=False, profiledata=None):
29252926 if profiledata [1 ] is None :
29262927 ans += "Isomorphism class has not been identified<br />"
29272928 else :
2928- # TODO: add hash knowl and search link to groups with this order and hash
2929- ans += f"Hash: { profiledata [1 ]} <br />"
2929+ # TODO: add search link to groups with this order and hash
2930+ ans += f"{ display_knowl ( 'group.hash' , ' Hash' ) } : { profiledata [1 ]} <br />"
29302931 isomorphism_label = "Subgroups with this data:"
29312932 else :
29322933 if label .startswith ("ab/" ):
@@ -2936,9 +2937,14 @@ def group_data(label, ambient=None, aut=False, profiledata=None):
29362937 data = None
29372938 url = url_for ("abstract.by_label" , label = label )
29382939 gp = WebAbstractGroup (label , data = data )
2939- #GAP doesn't have groups of order 3^8 so if not in db, can't be live
2940- if label .startswith ("6561." ) and gp .source == "Missing" :
2941- return Markup ("No additional information for this group of order 6561 is available." )
2940+ # dealing with groups identified in magma but not in gap so can't do live pages˚
2941+ ord = label .split ("." )[0 ]
2942+ if missing_subs (label ) and gp .source == "Missing" :
2943+ ans = 'The group {} is not available in GAP, but see the list of <a href="{}">{}</a>.' .format (
2944+ label ,
2945+ f"/Groups/Abstract/?subgroup_order={ ord } &ambient={ ambient } &search_type=Subgroups" ,
2946+ "subgroups with this order" )
2947+ return Markup (ans )
29422948 ans = f"Group ${ gp .tex_name } $: "
29432949 ans += create_boolean_string (gp , type = "knowl" )
29442950 ans += f"<br />Label: { gp .label } <br />"
0 commit comments