def statistics(): info = { 'counts': get_stats().counts(), 'stats': get_stats().stats(), } t = 'Elliptic Curves over $\Q$: Statistics' bread = [('Elliptic Curves', url_for("ecnf.index")), ('$\Q$', url_for(".rational_elliptic_curves")), ('Statistics', ' ')] return render_template("ec-stats.html", info=info, credit=ec_credit(), title=t, bread=bread, learnmore=learnmore_list())
def statistics(): info = { 'counts': get_stats().counts(), 'stats': get_stats().stats(), } credit = 'John Cremona' t = 'Elliptic curves over $\Q$: statistics' bread = [('Elliptic Curves', url_for("ecnf.index")), ('$\Q$', url_for(".rational_elliptic_curves")), ('statistics', ' ')] return render_template("statistics.html", info=info, credit=credit, title=t, bread=bread)
def statistics(): info = {"counts": get_stats().counts(), "stats": get_stats().stats()} credit = "John Cremona" t = "Elliptic curves over $\Q$: statistics" bread = [ ("Elliptic Curves", url_for("ecnf.index")), ("$\Q$", url_for(".rational_elliptic_curves")), ("statistics", " "), ] return render_template( "statistics.html", info=info, credit=credit, title=t, bread=bread, learnmore=learnmore_list() )
def rational_elliptic_curves(err_args=None): if err_args is None: if len(request.args) != 0: return elliptic_curve_search(to_dict(request.args)) else: err_args = {} for field in ['conductor', 'jinv', 'torsion', 'rank', 'sha', 'optimal', 'torsion_structure', 'msg']: err_args[field] = '' err_args['count'] = '100' counts = get_stats().counts() conductor_list_endpoints = [1, 100, 1000, 10000, 100000, counts['max_N'] + 1] conductor_list = ["%s-%s" % (start, end - 1) for start, end in zip(conductor_list_endpoints[:-1], conductor_list_endpoints[1:])] rank_list = range(counts['max_rank'] + 1) torsion_list = range(1,11) + [12, 16] info = { 'rank_list': rank_list, 'torsion_list': torsion_list, 'conductor_list': conductor_list, 'counts': counts, 'stats_url': url_for(".statistics") } #credit = 'John Cremona and Andrew Sutherland' t = 'Elliptic curves over $\Q$' bread = [('Elliptic Curves', url_for("ecnf.index")), ('$\Q$', ' ')] return render_template("ec-index.html", info=info, credit=ec_credit(), title=t, bread=bread, learnmore=learnmore_list_remove('Completeness'), calling_function = "ec.rational_elliptic_curves", **err_args)
def rational_elliptic_curves(err_args=None): if err_args is None: if len(request.args) != 0: return elliptic_curve_search(**request.args) else: err_args = {} for field in ['conductor', 'jinv', 'torsion', 'rank', 'sha', 'optimal', 'torsion_structure', 'msg']: err_args[field] = '' err_args['count'] = '100' counts = get_stats().counts() conductor_list_endpoints = [1, 100, 1000, 10000, 100000, counts['max_N'] + 1] conductor_list = ["%s-%s" % (start, end - 1) for start, end in zip(conductor_list_endpoints[:-1], conductor_list_endpoints[1:])] rank_list = range(counts['max_rank'] + 1) torsion_list = range(1,11) + [12, 16] info = { 'rank_list': rank_list, 'torsion_list': torsion_list, 'conductor_list': conductor_list, 'counts': counts, 'stats_url': url_for(".statistics") } credit = 'John Cremona and Andrew Sutherland' t = 'Elliptic curves over $\Q$' bread = [('Elliptic Curves', url_for("ecnf.index")), ('$\Q$', ' ')] return render_template("browse_search.html", info=info, credit=credit, title=t, bread=bread, **err_args)
def rational_elliptic_curves(err_args=None): if err_args is None: if len(request.args) != 0: return elliptic_curve_search(request.args) else: err_args = {} for field in ['conductor', 'jinv', 'torsion', 'rank', 'sha', 'optimal', 'torsion_structure', 'msg']: err_args[field] = '' err_args['count'] = '50' counts = get_stats().counts() conductor_list_endpoints = [1, 100, 1000, 10000, 100000, counts['max_N'] + 1] conductor_list = ["%s-%s" % (start, end - 1) for start, end in zip(conductor_list_endpoints[:-1], conductor_list_endpoints[1:])] rank_list = range(counts['max_rank'] + 1) torsion_list = range(1,11) + [12, 16] info = { 'rank_list': rank_list, 'torsion_list': torsion_list, 'conductor_list': conductor_list, 'counts': counts, 'stats_url': url_for(".statistics") } t = 'Elliptic Curves over $\Q$' bread = [('Elliptic Curves', url_for("ecnf.index")), ('$\Q$', ' ')] if err_args.get("err_msg"): flash_error(err_args.pop("err_msg"),err_args.pop("label")) return redirect(url_for(".rational_elliptic_curves")) return render_template("ec-index.html", info=info, credit=ec_credit(), title=t, bread=bread, learnmore=learnmore_list(), calling_function = "ec.rational_elliptic_curves", **err_args)
def random_curve(): from sage.misc.prandom import randint n = get_stats().counts()['ncurves'] n = randint(0,n-1) label = db_ec().find()[n]['label'] # This version leaves the word 'random' in the URL: # return render_curve_webpage_by_label(label) # This version uses the curve's own URL: return redirect(url_for(".by_ec_label", label=label), 301)
def rational_elliptic_curves(err_args=None): if err_args is None: if len(request.args) != 0: return elliptic_curve_search(request.args) else: err_args = {} for field in [ 'conductor', 'jinv', 'torsion', 'rank', 'sha', 'optimal', 'torsion_structure', 'msg' ]: err_args[field] = '' err_args['count'] = '50' counts = get_stats().counts() conductor_list_endpoints = [ 1, 100, 1000, 10000, 100000, counts['max_N'] + 1 ] conductor_list = [ "%s-%s" % (start, end - 1) for start, end in zip( conductor_list_endpoints[:-1], conductor_list_endpoints[1:]) ] rank_list = range(counts['max_rank'] + 1) torsion_list = range(1, 11) + [12, 16] info = { 'rank_list': rank_list, 'torsion_list': torsion_list, 'conductor_list': conductor_list, 'counts': counts, 'stats_url': url_for(".statistics") } t = 'Elliptic Curves over $\Q$' bread = [('Elliptic Curves', url_for("ecnf.index")), ('$\Q$', ' ')] if err_args.get("err_msg"): # this comes from elliptic_curve_jump_error flash_error(err_args.pop("err_msg"), err_args.pop("label")) return redirect(url_for(".rational_elliptic_curves")) return render_template("ec-index.html", info=info, credit=ec_credit(), title=t, bread=bread, learnmore=learnmore_list(), calling_function="ec.rational_elliptic_curves", **err_args)
def rational_elliptic_curves(err_args=None): if err_args is None: if len(request.args) != 0: return elliptic_curve_search(**request.args) else: err_args = {} for field in ["conductor", "jinv", "torsion", "rank", "sha", "optimal", "torsion_structure", "msg"]: err_args[field] = "" err_args["count"] = "100" counts = get_stats().counts() conductor_list_endpoints = [1, 100, 1000, 10000, 100000, counts["max_N"] + 1] conductor_list = [ "%s-%s" % (start, end - 1) for start, end in zip(conductor_list_endpoints[:-1], conductor_list_endpoints[1:]) ] rank_list = range(counts["max_rank"] + 1) torsion_list = range(1, 11) + [12, 16] info = { "rank_list": rank_list, "torsion_list": torsion_list, "conductor_list": conductor_list, "counts": counts, "stats_url": url_for(".statistics"), } credit = "John Cremona and Andrew Sutherland" t = "Elliptic curves over $\Q$" bread = [("Elliptic Curves", url_for("ecnf.index")), ("$\Q$", " ")] return render_template( "browse_search.html", info=info, credit=credit, title=t, bread=bread, learnmore=learnmore_list_remove("Completeness"), **err_args )
def random_curve(): from sage.misc.prandom import randint n = get_stats().counts()['ncurves'] n = randint(0, n - 1) return render_curve_webpage_by_label(db_ec().find()[n]['label'])
def random_curve(): from sage.misc.prandom import randint n = get_stats().counts()['ncurves'] n = randint(0,n-1) return render_curve_webpage_by_label(db_ec().find()[n]['label'])