@@ -442,7 +442,7 @@ def intcol(j):
442442
443443def poly_col (relative = False ):
444444 if relative :
445- title = lambda info : "Polynomial" if info ['family' ].n0 == 1 else r"Polynomial $/ \Q_p$"
445+ def title ( info ): return "Polynomial" if info ['family' ].n0 == 1 else r"Polynomial $/ \Q_p$"
446446 else :
447447 title = "Polynomial"
448448 return MultiProcessedCol ("coeffs" , "lf.defining_polynomial" , title , ["coeffs" , "unram" ], eisensteinformlatex , mathmode = True , short_title = "polynomial" , apply_download = lambda coeffs , unram : coeffs )
@@ -452,7 +452,7 @@ def poly_col(relative=False):
452452f_col = MathCol ("f" , "lf.residue_field_degree" , "$f$" , short_title = "residue field degree" )
453453def gal_col (relative = False ):
454454 if relative :
455- title = lambda info : "Galois group" if info ['family' ].n0 == 1 else r"Galois group $/ \Q_p$"
455+ def title ( info ): return "Galois group" if info ['family' ].n0 == 1 else r"Galois group $/ \Q_p$"
456456 else :
457457 title = "Galois group"
458458 return MultiProcessedCol ("gal" , "nf.galois_group" , title ,
@@ -463,7 +463,7 @@ def aut_col(default):
463463 return MathCol ("aut" , "lf.automorphism_group" , r"$\#\Aut(K/\Q_p)$" , short_title = "auts" , default = default )
464464def slopes_col (default = True , relative = False ):
465465 if relative :
466- title = lambda info : "Artin slope content" if info ['family' ].n0 == 1 else r"Artin slope content $/ \Q_p$"
466+ def title ( info ): return "Artin slope content" if info ['family' ].n0 == 1 else r"Artin slope content $/ \Q_p$"
467467 else :
468468 title = "Artin slope content"
469469 return MultiProcessedCol ("slopes" , "lf.slopes" , title ,
@@ -472,7 +472,7 @@ def slopes_col(default=True, relative=False):
472472 apply_download = unpack_slopes , default = default )
473473def hidden_col (default = True , relative = False ):
474474 if relative :
475- title = lambda info : "Hidden Artin slopes" if info ['family' ].n0 == 1 else r"Hidden Artin slopes $/ \Q_p$"
475+ def title ( info ): return "Hidden Artin slopes" if info ['family' ].n0 == 1 else r"Hidden Artin slopes $/ \Q_p$"
476476 else :
477477 title = "Hidden Artin slopes"
478478 return ProcessedCol ("hidden" , "lf.slopes" ,
@@ -482,7 +482,7 @@ def hidden_col(default=True, relative=False):
482482
483483def swanslopes_col (default = False , relative = False ):
484484 if relative :
485- title = lambda info : "Swan slope content" if info ['family' ].n0 == 1 else r"Swan slope content $/ \Q_p$"
485+ def title ( info ): return "Swan slope content" if info ['family' ].n0 == 1 else r"Swan slope content $/ \Q_p$"
486486 else :
487487 title = "Swan slope content"
488488 return MultiProcessedCol ("swanslopes" , "lf.slopes" , title ,
@@ -494,7 +494,7 @@ def swanslopes_col(default=False, relative=False):
494494
495495def hiddenswan_col (default = False , relative = False ):
496496 if relative :
497- title = lambda info : "Hidden Swan slopes" if info ['family' ].n0 == 1 else r"Hidden Swan slopes $/ \Q_p$"
497+ def title ( info ): return "Hidden Swan slopes" if info ['family' ].n0 == 1 else r"Hidden Swan slopes $/ \Q_p$"
498498 else :
499499 title = "Hidden Swan slopes"
500500 return MultiProcessedCol ("hiddenswan" , "lf.slopes" ,
@@ -507,13 +507,13 @@ def hiddenswan_col(default=False, relative=False):
507507
508508def insep_col (default = True , relative = False ):
509509 if relative :
510- title = lambda info : "Ind. of Insep." if info ['family' ].n0 == 1 else r"Ind. of Insep. $/ \Q_p$"
510+ def title ( info ): return "Ind. of Insep." if info ['family' ].n0 == 1 else r"Ind. of Insep. $/ \Q_p$"
511511 else :
512512 title = "Ind. of Insep."
513513 return ProcessedCol ("ind_of_insep" , "lf.indices_of_inseparability" , title , formatbracketcol , default = default , short_title = "ind. of insep." )
514514def assoc_col (default = True , relative = False ):
515515 if relative :
516- title = lambda info : "Assoc. Inertia" if info ['family' ].n0 == 1 else r"Assoc. Inertia $/ \Q_p$"
516+ def title ( info ): return "Assoc. Inertia" if info ['family' ].n0 == 1 else r"Assoc. Inertia $/ \Q_p$"
517517 else :
518518 title = "Assoc. Inertia"
519519 return ProcessedCol ("associated_inertia" , "lf.associated_inertia" , title , formatbracketcol , default = default )
@@ -613,7 +613,7 @@ def pretty_link(label, p, n, rf):
613613 show_slopes2 , default = False , short_title = "abs. Artin slopes" ),
614614 RationalListCol ("slopes" , "lf.slopes" , "Swan slopes" , short_title = "Swan slopes" ),
615615 RationalListCol ("means" , "lf.means" , "Means" , delim = [r"\langle" , r"\rangle" ]),
616- RationalListCol ("rams" , "lf.rams" , "Rams" , delim = "()" ),
616+ RationalListCol ("rams" , "lf.rams" , "Rams" , delim = "()" ),
617617 ProcessedCol ("poly" , "lf.family_polynomial" , "Generic poly" , lambda pol : teXify_pol (pol , greek_vars = True , subscript_vars = True ), mathmode = True , default = False ),
618618 MathCol ("ambiguity" , "lf.family_ambiguity" , "Ambiguity" ),
619619 MathCol ("field_count" , "lf.family_field_count" , "Field count" ),
@@ -703,13 +703,17 @@ def count_fields(p, n=None, f=None, e=None, eopts=None):
703703 if n % f != 0 :
704704 return 0
705705 e = n // f
706+
706707 def eps (i ):
707708 return sum (p ** (- j ) for j in range (1 , i + 1 ))
709+
708710 def ee (i ):
709711 return euler_phi (p ** i )
712+
710713 def sig (n0 , e , f , s ):
711714 nn = n0 * e * f
712715 return 1 + sum (p ** i * (p ** (eps (i ) * nn ) - p ** (eps (i - 1 ) * nn )) for i in range (1 ,s + 1 ))
716+
713717 def delta (m , s , i ):
714718 if s == i == 0 :
715719 return 1
@@ -720,6 +724,7 @@ def delta(m, s, i):
720724 if s == i > 0 :
721725 return (p - 1 ) * p ** (m * s + s - 1 )
722726 return 0
727+
723728 def term (i , fp , ep ):
724729 ep_val = ep .valuation (p )
725730 epp = e / (ee (i ) * ep )
@@ -752,21 +757,22 @@ def count_postprocess(res, info, query):
752757 eopts = integer_options (info ["e" ], upper_bound = 47 )
753758 else :
754759 eopts = None
755- func = lambda p , n : count_fields (p , n = n , eopts = eopts )
760+
761+ def func (p , n ): return count_fields (p , n = n , eopts = eopts )
756762 elif groupby == ["p" , "e" ]:
757763 n = db .lf_fields .distinct ("n" , query )
758764 if len (n ) != 1 :
759765 # There were no results...
760766 return res
761767 n = ZZ (n [0 ])
762- func = lambda p , e : count_fields (p , n = n , e = e )
768+ def func ( p , e ): return count_fields (p , n = n , e = e )
763769 elif groupby == ["n" , "e" ]:
764770 p = db .lf_fields .distinct ("p" , query )
765771 if len (p ) != 1 :
766772 # No results...
767773 return res
768774 p = ZZ (p [0 ])
769- func = lambda n , e : count_fields (p , n = n , e = e )
775+ def func ( n , e ): return count_fields (p , n = n , e = e )
770776 else :
771777 return res
772778 for a in info ["row_heads" ]:
@@ -809,7 +815,7 @@ def local_field_count(info, query):
809815 query ["n0" ] = 1
810816 if "gal" in info and "n" not in info :
811817 # parse_galgrp adds restrictions on n
812- if type (query ["n" ]) == int :
818+ if isinstance (query ["n" ], int ) :
813819 info ["n" ] = str (query ["n" ])
814820 else :
815821 info ["n" ] = "," .join (query ["n" ]["$in" ])
@@ -852,6 +858,7 @@ def local_field_count(info, query):
852858 urlgen_info .pop ("stats" , None )
853859 if info ["search_type" ] == "FamilyCounts" :
854860 urlgen_info ["search_type" ] = "Families"
861+
855862 def url_generator (a , b ):
856863 if (a ,b ) in info ["nolink" ]:
857864 return
@@ -1702,7 +1709,6 @@ def __init__(self, relative=False):
17021709 #("mass_found", "mass found", ['mass_found', 'mass_relative', 'p', 'n', 'e', 'c', 'ctr']),
17031710 ]
17041711
1705-
17061712 def search_types (self , info ):
17071713 return self ._search_again (info , [
17081714 ('Families' , 'List of families' ),
@@ -1875,4 +1881,3 @@ def summary(self):
18751881 display_knowl ("lf.family_polynomial" , "families" ),
18761882 comma (self .num_rel_families ),
18771883 )
1878-
0 commit comments