Skip to content

Instantly share code, notes, and snippets.

View fredrik-johansson's full-sized avatar
🕵️‍♂️
Deep into the code

Fredrik Johansson fredrik-johansson

🕵️‍♂️
Deep into the code
View GitHub Profile
#include "acb_dirichlet.h"
/* todo: separate prec, eval_prec... */
void
acb_dirichlet_zeta_zero_refine_illinois(arb_t res, const arf_t ra, const arf_t rb, slong prec)
{
arf_t a, b, fa, fb, c, fc, t;
acb_t z;
slong k;
int asign, bsign, csign;
@fredrik-johansson
fredrik-johansson / Arbdemo.ipynb
Created February 11, 2019 17:18
Arbdemo.ipynb
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@fredrik-johansson
fredrik-johansson / stieltjes.c
Created September 13, 2018 05:09
debug stieltjes.c
/*
Copyright (C) 2018 Fredrik Johansson
This file is part of Arb.
Arb is free software: you can redistribute it and/or modify it under
the terms of the GNU Lesser General Public License (LGPL) as published
by the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version. See <http://www.gnu.org/licenses/>.
*/
#include <string.h>
#include "acb_calc.h"
#include "flint/profiler.h"
/* the integrand */
int
f_pearcey(acb_ptr res, const acb_t z, void * param, slong order, slong prec)
{
acb_t t, u;
@fredrik-johansson
fredrik-johansson / trapezoid.c
Created September 1, 2016 02:37
Trapezoidal integration with error bounds using Arb
/*
Naive implementation of the trapezoidal rule for integration.
(A non-naive implementation would provide adaptivity, etc.)
WARNING: I have not checked carefully that the code is correct.
Let me know if there is a bug.
*/
#include "arb.h"
#include "arb_poly.h"
#include "arb.h"
#include "acb_hypgeom.h"
void arb_root_ui_algebraic(arb_t res, const arb_t x, ulong k, slong prec);
void
_arb_pow(arb_t res, const arb_t x, const arb_t y, slong prec)
{
slong rootlim;
@fredrik-johansson
fredrik-johansson / zetanim.py
Created December 14, 2015 17:10
Root-finding animation script
"""
Animates output of
build/examples/real_roots 0 0 50 -verbose > outlog.txt
build/examples/real_roots 0 47 50 -verbose > outlog2.txt
assuming that the following hack of a patch has been applied to arb:
diff --git a/arb_calc/isolate_roots.c b/arb_calc/isolate_roots.c
index ac425fb..4981601 100644
/* This file is public domain. Author: Fredrik Johansson. */
/* complex_plot.c, hacked to render animation frames */
/* convert to video with: */
/* avconv -r 32 -i anim%04d.png -r 32 -c:v h264 -crf 1 test.flv */
#include <stdlib.h>
#include <string.h>
#include "acb.h"
#include "acb_hypgeom.h"
sf2011 2.2148 ( 60136 / 27151.49)
sf2012 1.5506 ( 58373 / 37644.64)
sod 1.2943 ( 14345 / 11083.45)
ksutra 0.8053 ( 10215 / 12685.39)
hr2 0.7973 ( 10109 / 12679.42)
scythe 0.7924 ( 3379 / 4264.11)
av 0.7730 ( 10317 / 13346.92)
scythe2 0.7381 ( 6094 / 8256.14)
doom2 0.6963 ( 3540 / 5083.80)
doom 0.5851 ( 2907 / 4968.16)
@fredrik-johansson
fredrik-johansson / stats.py
Created August 27, 2015 13:52
Python script to generate scrobbling stats page
# -*- coding: utf-8 -*-
import datetime
import matplotlib
import codecs
# history downloaded with lastexport.py https://gist.github.com/bitmorse/5201491
fp = codecs.open("tracks.txt", "r", "utf8")
albums = {}