Fredrik Johansson's website

Contact: fredrik.johansson@gmail.com

I'm interested in computational mathematics, especially fast arithmetic and fast algorithms for computer algebra.

I'm currently a PhD student in symbolic computation at RISC in Hagenberg, Austria, where I'm a member of Peter Paule's Algorithmic Combinatorics group (my advisor is Manuel Kauers). My page at RISC contains some more information. I was born in Sweden and obtained my MSc in engineering physics from Chalmers in 2010.

Occasional development updates appear on my blog. For code, see my GitHub account or the links below.

Papers

Finding Hyperexponential Solutions of Linear ODEs by Numerical Evaluation (with Manuel Kauers and Marc Mezzarobba, preprint, accepted for ISSAC 2013)
Presents a new algorithm for computing the hyperexponential solutions of linear differential equations with polynomial coefficients, using numerical evaluation to avoid looking at exponentially many combinations of singularities.
Efficient implementation of the Hardy-Ramanujan-Rademacher formula (published in LMS Journal of Computation and Mathematics, 2012)
Shows that the integer partition function p(n) can be computed in quasi-optimal time, and presents new record computations including the evaluation of the 3.5-billion-digit number p(1019) and generation of 22 billion new Ramanujan-type congruences (the congruence data is available).
A fast algorithm for reversion of power series (preprint, 2011)
Describes a new, simple algorithm for reversion of power series which typically outperforms previously known algorithms.

Mathematical software

Main author or coauthor

mpmath
A Python library for arbitrary-precision floating-point arithmetic with support for numerical approximation of special functions, integrals, infinite series, etc. Notably, the library of special functions with full support for complex arguments and arbitrary-precision evaluation may be the most extensive in any currently available open source library, comparable to Mathematica and Maple (see DLMF). Mpmath has been cited in numerous publications. I started mpmath in 2007 and have written the majority of the code, with important contributions made by various other authors.
Arb
A C library for rigorous, high-performance arbitrary-precision ball (interval) arithmetic with support for complex numbers, polynomials, power series, matrices, and special functions. Author, started in 2012.
FLINT
A C library for computational number theory, with emphasis on asymptotically fast polynomial arithmetic. My work includes general optimization, power series functions, exact linear algebra, number-theoretic special functions, and other features. I have a page with some benchmarks. Coauthor (about 1/3 of the code), joined 2010.

Significant contributions

Sage
A computer algebra system which provides a unified Python-based interface to a large number of mathematical packages, plus a comprehensive library of its own. My main contribution has been to integrate mpmath and write Cython extension code to speed up mpmath, though I've also worked on other bits and pieces. Contributor since 2009. I've attended Sage Days 15, 23, 24, 35.
SymPy
A computer algebra system written in pure Python. I've worked on various modules (special functions, number theory, statistics, physics) as well as core symbolics and arithmetic. Contributor since 2007, no longer actively involved.

Talks and presentations

Music

Check out my YouTube channel for some music (also this outdated page).

Doom

My Doom maps and related information.