Martin Krzywinski / Genome Sciences Center / mkweb.bcgsc.ca Martin Krzywinski / Genome Sciences Center / mkweb.bcgsc.ca - contact me Martin Krzywinski / Genome Sciences Center / mkweb.bcgsc.ca on Twitter Martin Krzywinski / Genome Sciences Center / mkweb.bcgsc.ca - Lumondo Photography Martin Krzywinski / Genome Sciences Center / mkweb.bcgsc.ca - Pi Art Martin Krzywinski / Genome Sciences Center / mkweb.bcgsc.ca - Hilbertonians - Creatures on the Hilbert Curve
Here we are now at the middle of the fourth large part of this talk.Pepe Deluxeget nowheremore quotes

pi: fun


DNA on 10th — street art, wayfinding and font


visualization + design

Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
The 2019 Pi Day art celebrates digits of `\pi` with hundreds of languages and alphabets. If you're a kid at heart—rejoice—there's a special edition for you!

`\pi` Day 2016 Art Posters


Pi Day 2016 Art Posters
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
2019 `\pi` has hundreds of digits, hundreds of languages and a special kids' edition.

Pi Day 2016 Art Posters
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
2018 `\pi` day

Pi Day 2016 Art Posters
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
2017 `\pi` day

Pi Day 2016 Art Posters
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
2016 `\pi` approximation day

Pi Day 2016 Art Posters
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
2016 `\pi` day

Pi Day 2016 Art Posters
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
2015 `\pi` day

Pi Day 2016 Art Posters
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
2014 `\pi` approx day

Pi Day 2016 Art Posters
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
2014 `\pi` day

Pi Day 2016 Art Posters
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
2013 `\pi` day

Pi Day 2016 Art Posters
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
Circular `\pi` art

On March 14th celebrate `\pi` Day. Hug `\pi`—find a way to do it.

For those who favour `\tau=2\pi` will have to postpone celebrations until July 26th. That's what you get for thinking that `\pi` is wrong. I sympathize with this position and have `\tau` day art too!

If you're not into details, you may opt to party on July 22nd, which is `\pi` approximation day (`\pi` ≈ 22/7). It's 20% more accurate that the official `\pi` day!

Finally, if you believe that `\pi = 3`, you should read why `\pi` is not equal to 3.

Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
All art posters are available for purchase.
I take custom requests.

This year's `\pi` day art collection celebrates not only the digit but also one of the fundamental forces in nature: gravity.

In February of 2016, for the first time, gravitational waves were detected at the Laser Interferometer Gravitational-Wave Observatory (LIGO).

The signal in the detector was sonified—a process by which any data can be encoded into sound to provide hints at patterns and structure that we might otherwise miss—and we finally heard what two black holes sound like. A buzz and chirp.

The art is featured in the Gravity of Pi article on the Scientific American SA Visual blog.

this year's theme music

All the art was processed while listening to Roses by Coeur de Pirate, a brilliant female French-Canadian songwriter, who sounds like a mix of Patricia Kaas and Lhasa. The lyrics Oublie-moi (Forget me) are fitting with this year's theme of gravity.

Mais laisse-moi tomber, laisse-nous tomber
Laisse la nuit trembler en moi
Laisse-moi tomber, laisse nous tomber
Cette fois

But let me fall, let us fall
Let the night tremble in me
Let me fall, let us fall
This time

The art is generated by running a simulation of gravity in which digits of `\pi` are each assigned a mass and allowed to collide eand orbit each other.

The mathematical details of the simulation can be found in the code section.

exploring force of gravity in `\pi`

A simulation starts with taking `n` digits of `\pi` and arranging them uniformly around a circle. The mass of each digit, `d_i` (e.g. 3), is given by `(1+d)^k` where `k` is a mass power parameter between 0.01 and 1. For example, if `k=0.42` then the mass of 3 is `(1+3)^{0.42} = 1.79`.

collapsing three digits—3.14 collide

The figure below shows the evolution of a simulation with `n=3` digits and `k=1`. The digits 3 and 4 collide to form the digit `3+4 = 7` and immediately collides with 1 to form `7+1=8`. With only one mass left in the system, the simulation stops.


Pi Day 2016 Art Posters
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
The evolution of a simulation of gravity using `n=3` digits of `\pi` and the mass power `k=1`. The masses are initialized with zero velocity. (zoom)

adding initial velocity to each mass

When masses have initial velocities, the patterns quickly start to get interesting. In the figure above, the masses are initalized with zero velocity. As soon as the simulation, each mass immediately starts to move directly towards the center of mass of the other two masses.

When the initial velocity is non-zero, such as in the figure below, the masses don't immediately collapse towards one another. The masses first travel with their initial velocity but immediately the gravitational force imparts acceleration that alters this velocity. In the examples below, only those simulations in which the masses collapsed within a time cutoff are shown.


Pi Day 2016 Art Posters
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
The evolution of a simulation of gravity using `n=3` digits of `\pi` and the mass power `k=1` in which all masses collapsed. The masses are initialized with a random velocity. (zoom)

Pi Day 2016 Art Posters
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
The evolution of 16 simulations of gravity using `n=3` digits of `\pi` and the mass power `k=1` in which all masses collapsed. The masses are initialized with a random velocity. (zoom)

Pi Day 2016 Art Posters
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
The evolution of 49 simulations of gravity using `n=3` digits of `\pi` and the mass power `k=1` in which all masses collapsed. The masses are initialized with a random velocity. (zoom)

allowing the simulation to evolve

Depending on the initial velocities, some systems collapse very quickly, which doesn't make for interesting patterns.

For example, the simulations above evolved over 100,000 steps and in some cases the masses collapsed within 10,000 steps. In the figure below, I require that the system evolves for at least 15,000 steps before collapsing. Lovely doddles, don't you think?


Pi Day 2016 Art Posters
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
The evolution of 36 simulations of gravity using `n=3` digits of `\pi` and the mass power `k=1` in which all masses collapsed after a minimum amount of time. The masses are initialized with a random velocity. (zoom)

exploring ensembles

When a simulation is repeated with different initial conditions, the set of outcomes is called an ensemble.

Below, I repeat the simulation 100 times with `n=3` and `k=0.2`, each time with slightly different initial velocity. The velocities have their `x`- and `y`-components normally distributed with zero mean and a fixed variance. Each of the four ensembles has its simulations evolve over progressively more time steps: 5,000, 7,500, 10,000, and 20,000.

You can see that with 5,000 steps the masses don't yet have a chance to collide. After 7,500, there have been collisions in a small number of systems. The blue mass corresponds to the 3 colliding with 4 and the green mass to 1 colliding with 4. After 10,000, even more collisions are seen and in 3 cases we see total collapse (all three digits collided). After 20,000,


Pi Day 2016 Art Posters
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
The evolution of 100 simulations of gravity over total time `t` using `n=3` digits of `\pi` and the mass power `k=0.2`. Within each ensemble, the masses are initialized with a different random velocity in each instance. (zoom)

varying masses

The value of `k` greatly impacts the outcome of the simulation. When `k` is very small, all the digits have essentially the same mass. For example, when `k=0.01` the 0 has a mass of 1 and 9 has a mass of 1.02.

When `k` is large, the difference in masses is much greater. For example, for `k=2` the lightest mass is `(1+0)^2=1` and the heaviest `(1+9)^2=10`. Because the acceleration of a mass is proportional to the mass that is attracting it, in a pair of masses the light mass will accelerate faster.


Pi Day 2016 Art Posters
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
Larger values of `k` create greater diversity among the masses. Shown are simulations of 36 digits with `k` values varying from 0.1 to 3. The total mass of the system, `\Sigma m`, is also shown.`. (zoom)

increasing number of masses

As the number of digits is increased, the pattern of collapse doesn't qualitatively change.


Pi Day 2016 Art Posters
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
Simulations for `n = 50, 100, 250` and `500` masses with `k = 0.5`. (zoom)

gravity makes beautiful doodles

I ran a large number of simulations. For various values of `n` and `k`, I repeated the simulation several times to sample different intial velocities.


Pi Day 2016 Art Posters
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
Thumbnails of `\pi` digit orbital simulations for various values of `n` and `k`. (zoom)

Pi Day 2016 Art Posters
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
Gravitational attraction paths of the first 100 digits of `\pi` for `k = 0.3`, `0.6` and `0.8` with initial velocities randomly set. Three instances of the simulation are shown, each with different intital velocities. (zoom)

Pi Day 2016 Art Posters
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
Gravitational attraction paths of the first 60 digits of `\pi` for `k = 1`. After 100,000 time steps, some masses are still orbiting within the canvas (e.g. green mass at bottom right). The numbers next to the masses correspond to the digits (those around the circle are the first 50 digits of `\pi` and others are the sum (mod 10) of digits that collided). Also shown next to the numbers is their mass, index and indices of masses that formed them. (zoom)

Pi Day 2016 Art Posters
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
Gravitational attraction paths of the first 50 digits of `\pi` for `k = 0.4`. The numbers next to the masses correspond to the digits (those around the circle are the first 50 digits of `\pi` and others are the sum (mod 10) of digits that collided). (zoom)

Below is a great example of how a stable orbital pattern of a pair of masses can be disrupted by the presence of another mass. You can see on the left that once the light red mass moves away from the orange/green pair, they settle into a stable pattern.


Pi Day 2016 Art Posters
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
Gravitational attraction paths of the first 50 digits of `\pi` for `k = 0.9`. The numbers next to the masses correspond to the digits (those around the circle are the first 50 digits of `\pi` and others are the sum (mod 10) of digits that collided). (zoom)

The figure below shows one of my favourite patterns. As the digits collide, three masses remain, which leave the system. They remain under each other's gravitational influence, but are moving too quickly to return to the canvas within the time of the simulation.


Pi Day 2016 Art Posters
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
Gravitational attraction paths of the first 90 digits of `\pi` for `k = 0.8`. The digits collide, leaving three rapidly-moving masses, which leave the canvas. (zoom)

how the idea developed

interactive gravity simulator

Use this fun inteactive gravity simulator if you want to drop your own masses and watch them orbit.

VIEW ALL

news + thoughts

Yearning for the Infinite — Aleph 2

Mon 18-11-2019

Discover Cantor's transfinite numbers through my music video for the Aleph 2 track of Max Cooper's Yearning for the Infinite (album page, event page).

Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
Yearning for the Infinite, Max Cooper at the Barbican Hall, London. Track Aleph 2. Video by Martin Krzywinski. Photo by Michal Augustini. (more)

I discuss the math behind the video and the system I built to create the video.

Hidden Markov Models

Mon 18-11-2019

Everything we see hides another thing, we always want to see what is hidden by what we see.
—Rene Magritte

A Hidden Markov Model extends a Markov chain to have hidden states. Hidden states are used to model aspects of the system that cannot be directly observed and themselves form a Markov chain and each state may emit one or more observed values.

Hidden states in HMMs do not have to have meaning—they can be used to account for measurement errors, compress multi-modal observational data, or to detect unobservable events.

Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
Nature Methods Points of Significance column: Hidden Markov Models. (read)

In this column, we extend the cell growth model from our Markov Chain column to include two hidden states: normal and sedentary.

We show how to calculate forward probabilities that can predict the most likely path through the HMM given an observed sequence.

Grewal, J., Krzywinski, M. & Altman, N. (2019) Points of significance: Hidden Markov Models. Nature Methods 16:795–796.

Background reading

Altman, N. & Krzywinski, M. (2019) Points of significance: Markov Chains. Nature Methods 16:663–664.

Hola Mundo Cover

Sat 21-09-2019

My cover design for Hola Mundo by Hannah Fry. Published by Blackie Books.

Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
Hola Mundo by Hannah Fry. Cover design is based on my 2013 `\pi` day art. (read)

Curious how the design was created? Read the full details.

Markov Chains

Tue 30-07-2019

You can look back there to explain things,
but the explanation disappears.
You'll never find it there.
Things are not explained by the past.
They're explained by what happens now.
—Alan Watts

A Markov chain is a probabilistic model that is used to model how a system changes over time as a series of transitions between states. Each transition is assigned a probability that defines the chance of the system changing from one state to another.

Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
Nature Methods Points of Significance column: Markov Chains. (read)

Together with the states, these transitions probabilities define a stochastic model with the Markov property: transition probabilities only depend on the current state—the future is independent of the past if the present is known.

Once the transition probabilities are defined in matrix form, it is easy to predict the distribution of future states of the system. We cover concepts of aperiodicity, irreducibility, limiting and stationary distributions and absorption.

This column is the first part of a series and pairs particularly well with Alan Watts and Blond:ish.

Grewal, J., Krzywinski, M. & Altman, N. (2019) Points of significance: Markov Chains. Nature Methods 16:663–664.

1-bit zoomable gigapixel maps of Moon, Solar System and Sky

Mon 22-07-2019

Places to go and nobody to see.

Exquisitely detailed maps of places on the Moon, comets and asteroids in the Solar System and stars, deep-sky objects and exoplanets in the northern and southern sky. All maps are zoomable.

Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
3.6 gigapixel map of the near side of the Moon, annotated with 6,733. (details)
Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
100 megapixel and 10 gigapixel map of the Solar System on 20 July 2019, annotated with 758k asteroids, 1.3k comets and all planets and satellites. (details)
Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
100 megapixle and 10 gigapixel map of the Northern Celestial Hemisphere, annotated with 44 million stars, 74,000 deep-sky objects and 3,000 exoplanets. (details)
Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
100 megapixle and 10 gigapixel map of the Southern Celestial Hemisphere, annotated with 69 million stars, 88,000 deep-sky objects and 1000 exoplanets. (details)

Quantile regression

Sat 01-06-2019
Quantile regression robustly estimates the typical and extreme values of a response.

Quantile regression explores the effect of one or more predictors on quantiles of the response. It can answer questions such as "What is the weight of 90% of individuals of a given height?"

Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
Nature Methods Points of Significance column: Quantile regression. (read)

Unlike in traditional mean regression methods, no assumptions about the distribution of the response are required, which makes it practical, robust and amenable to skewed distributions.

Quantile regression is also very useful when extremes are interesting or when the response variance varies with the predictors.

Das, K., Krzywinski, M. & Altman, N. (2019) Points of significance: Quantile regression. Nature Methods 16:451–452.

Background reading

Altman, N. & Krzywinski, M. (2015) Points of significance: Simple linear regression. Nature Methods 12:999–1000.