Ejemplo n.º 1
0
    t = time.time()
    d, sig, D, coeffs, h, cyc, GG = F
    absD = abs(D)
    data = {
        "degree": d,
        "signature": sig,
        "discriminant": D,
        "coefficients": coeffs,
        "class_number": h,
        "class_group": cyc,
        "galois_group": GG,
    }

    index = 1
    is_new = True
    for field in fields.find({"degree": d, "signature": sig, "discriminant": D}):
        index += 1
        if field["coefficients"] == coeffs:
            is_new = False
            break

    if is_new:
        print "new field"
        label = base_label(d, sig[0], absD, index)
        info = {"label": label}
        info.update(data)
        print "entering %s into database" % info
        fields.save(info)
    else:
        print "field already in database"
    if time.time() - t > 5:
Ejemplo n.º 2
0
# for F in li[0:1]:
    count += 1
    print "%d of %d: %s" % (count, tot, F)
    degree, weight, A, B, hodge, gal2, gal3, gal5, gal7  = F
    Astr = '.'.join([str(x) for x in A])
    Bstr = '.'.join([str(x) for x in B])
    label = "A%s_B%s" % (Astr, Bstr)
    data = {
        'label': label,
        'degree': degree,
        'weight': weight,
        'A': A,
        'B': B,
	'hodge': hodge,
	'gal2': gal2,
	'gal3': gal3,
	'gal5': gal5,
	'gal7': gal7
    }
    is_new = True
    for field in hgm.find({'label': label}):
	is_new = False
	break

    if is_new:
	    print "new family"
	    hgm.save(data)
    else:
	print "Have this one"

Ejemplo n.º 3
0
    absD = abs(D)
    data = {
        'degree': d,
        'signature': sig,
        'discriminant': D,
        'coefficients': coeffs,
        'class_number': h,
        'class_group': cyc,
        'galois_group': GG
    }

    index = 1
    is_new = True
    for field in fields.find({
            'degree': d,
            'signature': sig,
            'discriminant': D
    }):
        index += 1
        if field['coefficients'] == coeffs:
            is_new = False
            break

    if is_new:
        print "new field"
        label = base_label(d, sig[0], absD, index)
        info = {'label': label}
        info.update(data)
        print "entering %s into database" % info
        fields.save(info)
    else:
Ejemplo n.º 4
0
        'slopes': slopes,
        't': t,
        'u': u,
        'unram': unram,
        'eisen': eisen,
        'rf': rf,
        'hw': hw,
        'gms': gms,
        'aut': aut,
        'galT': galT
    }

    index = 1
    is_new = True
    holdfield = {}
    for field in fields.find({'p': p, 'n': n, 'c': c}):
        index += 1
        if field['coeffs'] == coeffs:
            is_new = False
            holdfield = field
            break

    if is_new:
        print "new field"
        label = base_label(p, n, c, index)
        info = {'label': label}
        info.update(data)
        print "entering %s into database" % info
        fields.save(info)
    else:
        holdfield.update(data)
Ejemplo n.º 5
0
    pol = coeff_to_poly(coeffs)
    K = NumberField(pol, 'a')
    D = str(D)
    data = {
        'degree': d,
        'disc_abs_key': dstr,
        'disc_sign': s,
        'ramps': ramps,
        'coeffs': makels(coeffs),
        'signature': makels(sig)
    }
    index = 1
    is_new = True
    holdfield = ''
    for field in fields.find({'degree': d,
                              'signature': data['signature'],
                              'disc_abs_key': dstr}):
        index += 1
        if field['coeffs'] == data['coeffs']:
            holdfield = field
            is_new = False
            break

    if is_new:
        print "new field"
        label = base_label(d, sig[0], absD, index)
        info = {'label': label}
        try:
            cltime = time.time()
            h, clg, uk, reg = getclgroup(K)
            cltimeend = time.time()
Ejemplo n.º 6
0
        't': t,
        'u': u,
        'unram': unram,
        'eisen': eisen,
        'rf': rf,
        'hw': hw,
        'gms': gms,
        'aut': aut,
        'galT': galT
    }

    index = 1
    is_new = True
    holdfield = {}
    for field in fields.find({'p': p,
                              'n': n,
                              'c': c}):
        index += 1
        if field['coeffs'] == coeffs:
            is_new = False
            holdfield = field
            break

    if is_new:
        print "new field"
        label = base_label(p, n, c, index)
        info = {'label': label}
        info.update(data)
        print "entering %s into database" % info
        fields.save(info)
    else:
Ejemplo n.º 7
0
    K = NumberField(pol, 'a')
    D = str(D)
    data = {
        'degree': d,
        'disc_abs_key': dstr,
        'disc_sign': s,
        'ramps': ramps,
        'coeffs': makels(coeffs),
        'signature': makels(sig)
    }
    index = 1
    is_new = True
    holdfield = ''
    for field in fields.find({
            'degree': d,
            'signature': data['signature'],
            'disc_abs_key': dstr
    }):
        index += 1
        if field['coeffs'] == data['coeffs']:
            holdfield = field
            is_new = False
            break

    if is_new:
        print "new field"
        label = base_label(d, sig[0], absD, index)
        info = {'label': label}
        try:
            cltime = time.time()
            h, clg, uk, reg = getclgroup(K)