Pierre de Buyl's homepage

All articles

  1. Testing the compact Hilbert index

    In 2015, I worked to implement the so-called "compact" Hilbert index. You can read about it here. After some feedback on the code, I decided that I wanted to investigate "how good" the compact Hilbert actually is. In this post, I compare my code to Chris Hamilton's original code (using a program by Peter Colberg) and verify the basic promise of the compact Hilbert index (keep the ordering of the full Hilbert index).

  2. Developing a Cython library

    For some time, I have used Cython to accelerate parts of Python programs. One stumbling block in going from Python/NumPy code to Cython code is the fact that one cannot access NumPy's random number generator from Cython without explicit declaration. Here, I give the steps to make a pip-installable 'cimportable' module, using the threefry random number generator as an example.

  3. A concise derivation of the Wiener-Khinchin theorem

    While teaching a class on statistical physics, I found myself unhappy with textbook derivations of the Wiener-Khinchin theorem. I worked my way to a very short derivation that is free of integral bounds manipulations and of holes, or so I believe.

    In either the books by Balakrishnan (Elements of Nonequilibrium Statistical Mechanics, Ane Books, 2008), Risken (The Fokker-Planck Equation, 2nd edition, Springer-Verlag, 1989), Coffey-Kalmykov-Waldron (The Langevin Equation, 2nd edition, World Scientific, 2004) or MathWorld, I could not find a short derivation that would cleanly take into account the averaging procedure or that would not resort to splittings of the domain of integration. I present here one derivation and a numerical illustration with Python.

  4. Reviewing for ReScience, a blog post

    From its homepage:

    ReScience lives on GitHub where each new implementation of a computational study is made available together with comments, explanations and tests. Each submission takes the form of a pull request that is publicly reviewed and tested in order to guarantee that any researcher can re-use it.

    So, let's say you are a reviewer: What does this all mean? We have a page with the editorial process but for a first review experience with us it might lack detail on how to proceed. I present here a step by step guide.

  5. Correlators for molecular and stochastic dynamics

    License: CC-BY

    Time correlations represent one of the most important data that one can obtain from doing molecular and stochastic dynamics. The two common methods to obtain them is via either post-processing or on-line analysis. Here I review several algorithms to compute correlation from numerical data: naive, Fourier transform and blocking scheme with illustrations from Langevin dynamics, using Python.

  6. ActivePapers: hello, world

    License: CC-BY

    ActivePapers is a technology developed by Konrad Hinsen to store code, data and documentation with several benefits: storage in a single HDF5 file, internal provenance tracking (what code created what data/figure, with a Make-like conditional execution) and a containerized execution environment.

    Implementations for the JVM and for Python are provided by the author. In this article, I go over the first steps of creating an ActivePaper. Being a regular user of Python, I cover only this language.

  7. Code as a paper

    Publishing scientific software is a nontrivial problem. I present here, and ask feedback, on the idea to upload the software to arXiv with a presentation paper and use it as an evolving reference.

  8. The threefry random number generator

    Pseudo-random number generation has many applications in computing. The use of random number in parallel is becoming necessary and a recent solution is the use of so-called block cipher algorithms. In this post, I review the mechanism being the Threefry random number generator that is based on the the Threefish block cipher.

  9. Compiling a Fortran library for Python

    The ability to call Fortran code from Python has been and still is essential to several scientific packages, including the widely used SciPy library. One widely used tool to make the Fortran code accessible to Python is the f2py library that is bundled with NumPy.

    Here, I review how one can write portable and easy to compile Fortran routines.

  10. Mesoscopic simulations of nanomotors with OpenCL

    The simulation of nanomotors is an integral part of my research. For this blog article, I have chosen to present nano-dimer, a simulation software written by my friend Peter Colberg. nano-dimer generates on the fly OpenCL code to perform Molecular Dynamics with a hybrid algorithm called MPCD to study chemically powered dimer nanomotors.

  11. Understanding the Hilbert curve

    The Hilbert curve fills space with good properties for sorting N-dimensional data in a linear fashion. I present an IPython notebook with the complete code to follow the algorithm of C. Hamilton CS-2006-07.

  12. Set up gpg keys offline

    Setting up properly a gpg key requires a lot of reading. This article documents fully how I set up my gpg keys while never exposing the master secret key on a online computer.

  13. Using H5MD in lammps

    H5MD is a HDF5 based file format for molecular data. In short, it is binary, portable and self-describing.

    In this blog post I present the use of H5MD in the Molecular Dynamics program lammps. I have written a dump style for lammps, i.e. a piece of code to write …

  14. Hello world!

    Hi, I launch a blog!

    This post is for test purpose but also for a general presentation. I will share here comments on computing mostly related to: physics, Linux, molecular simulations, Python, etc.

Generated with Pelican. Theme based on MIT-licensed Skeleton.