` Symmetry on orbifolds

SymSim - Creating Symmetry Using Dynamics on Orbifolds

Vladimir Bulatov (bulatov.org),
Joint Mathematics Meeting,

Gray-Scott reaction-diffusion equations

`(del u)/(del t) = D_u Delta u -uv^2 + f (1-u)`

`(del v)/(del v) = D_v Delta v + uv^2 - (f + k) v `

The equations describe the process that consists of reaction and diffusion of reagents `U` and `V`.

`u(x,y;t)` and `v(x,y;t)` are concentrations of chemicals `U` and `V`

`D_u` and `D_v` are diffuse coefficients.

`f` (feed) and `k` (kill) are parameters which control the pattern formation

Gray-Scott phase diagram

The boundary between red and blue is the region where non trivial pattern is formed

Gray-Scott unstable loops

The initial perturbations is transformed into mostly static patterns

Gray-Scott straight worms

The fast growing worms avoid each other

Gray-Scott parallel waves

fast moving parallel waves with some instability

Gray-Scott spots and loops

Initial smooth waves create chaotic fast moving spots

Gray-Scott pulsating worms and spots

Worms with unstable ends form pulsatins spots

Gray-Scott mazes

Stable compicated mazes pattern

Gray-Scott static spots

Fast forming static spots

Gray-Scott chaos and holes

Irregular chaotic pattern with large oscillations and some small holes

Gray-Scott mitosis and death

Spots divide and interact with each other kiling each other in the process

Gray-Scott moving spots

Spots move chaotically and die

Gray-Scott U-skate gliders

Rather stable u-shaped gliders move along straing lines and die during collisions

Gray-Scott waves

Regularly spaced waves can exist for long time or can die

Gray-Scott spiral waves

Spiral waves can self reproduce indefinitely

Gray-Scott spiral waves 2

Spiral waves can interact without significant damage

Gray-Scott spiral waves 3

Smooth and nice spiral waves

Pattern → symmetric pattnern

How can we enfoce the pattern to be symmetrical?

Simple Symmetrization Algorithm

Select a symmetry group (✶2222)

Simple Symmetrization Algorithm

1) Build the group's fundamental domain

Simple Symmetrization Algorithm

2) Place Gray-Scott pattern inside the fundamantal domain

Simple Symmetrization Algorithm

3) Use Reverse Pixel Mapping to extend the pattern to the whole plane

Simple Symmetrization Algorithm

3) Use Reverse Pixel Mapping to extend the pattern to the whole plane

Simple Symmetrization Algorithm

Perfectly symmetrical Gray-Scott pattern filling the plane!

Simple Symmetrization Test

The original image

Simple Symmetrization Test (✶2222)

Looks good 🙂

Simple Symmetrization Test (✶442)

Looks very good 🙂🙂

Simple Symmetrization Test (✶442)

Realy nice 🙂🙂🙂

Simple Symmetrization Test (✶333)

Perfect 😃😃😃

Simple Symmetrization Test (442)

Something wrong! 😕

Simple Symmetrization Test (4✶2)

Wrong again! 🙁

Simple Symmetrization Test (632)

Wrong! 😟

Simple Symmetrization Test (3✶3)

Wrong! 😠

Simple Symmetrization Test (333)

Wrong! 😱

Simple Symmetrization Test (2222)

Wrong! 😡

Simple Symmetrization Test (2✶22)

Wrong! 😰

Simple Symmetrization Test (22✶)

Wrong! 😡

Simple Symmetrization Test (✶✶)

Wrong! 😡 😡

Simple Symmetrization Test (✶X)

Wrong! 😡 😡 😡

Simple Symmetrization Test (22X)

Wrong! 😡 😡 😡 😡

Simple Symmetrization Test (XX)

Wrong! 😡 😡 😡 😡 😡

Simple Symmetrization Test (O)

Wrong! 🤕

Simple Symmetrization Analisys 😕

Simple Symmetrization works only for 4 out of 17 wallpaper groups

"Good" groups

(✶2222), (✶632), (✶333), (✶442)
kaleidoscopic groups generated by reflections

"Bad" groups

(632), (333), (442), (2222),
(3✶3), (4✶2), (22✶), (2✶22), (✶✶), (✶X),
(22X), (XX),(O)
The remaining groups. They are generated by rotations, glide reflecitions and translations

Simple Symmetrization Success (✶2222)

Group generated by reflections

Simple Symmetrization Success (✶2222)

Pattern matches along the fundamental domain sides

Simple Symmetrization Success (✶2222)

Pattern matches along the fundamental domain sides

Simple Symmetrization Success (✶2222)

Pattern matches along the fundamental domain sides

Simple Symmetrization Success (✶2222)

Pattern matches along the fundamental domain sides

Simple Symmetrization Success (✶2222)

Pattern matches along the fundamental domain sides

Simple Symmetrization Success (✶2222)

Pattern matches along the fundamental domain sides

Simple Symmetrization Success (✶2222)

Pattern matches along the fundamental domain sides

Simple Symmetrization Success (✶2222)

Pattern matches along the fundamental domain sides

Simple Symmetrization Success (✶2222)

Pattern matches along the fundamental domain sides

Simple Symmetrization Failure (O)

Group (O) generated by translations

Simple Symmetrization Failure (O)

Group (O) generated by translations

Simple Symmetrization Failure (O)

No match along sides

Simple Symmetrization Failure (O)

No match along sides

Simple Symmetrization Failure (O)

No match along sides

What to do?

Let's look at the whole simulation grid

Tiling the whole pattern

Let's try to fit together the complete pattern

Tiling the whole pattern

Let's try to fit together the complete pattern

Tiling the whole pattern

Let's try to fit together the complete pattern

Tiling the whole pattern

Let's try to fit together the complete pattern

Tiling the whole pattern

Let's try to fit together the complete pattern

Tiling the whole pattern

Let's try to fit together the complete pattern

Tiling the whole pattern

Let's try to fit together the complete pattern

Tiling the whole pattern

Pattern magically seamlessly matches

Tiling the whole pattern

Pattern magically seamlessly matches

Tiling the whole pattern

Pattern magically seamlessly matches

Tiling the whole pattern

Pattern magically seamlessly matches

Where from comes the magic?

Perfect seamless matching comes from using Periodic Boundary Condition (PBC)

PBC is routinely used for simulations of infinite homogineous system using grid of finite size

Main purpose of PBC is the elimination of the boundary effects

PBC makes all points of grid translationally equivalent

PBC enforces periodicity on the solution

PBC effectively select periodic solutions from all possible solutions of the infinite system

PBC integrated into simulation code (via simple identities like `V_(N+1) = V_1`)

Using PBC is equivalent to a simulation on the wallpaper group orbifold `(O)` - topologital torus

Perfect pattern matching

"Boundary" has no effect on the pattern

How PBC work

We work with finite grid patch

How PBC work

We imagine that it is part of an infinite grid

How PBC work

All grid points are matched to the points inside of the patch

How PBC work

All grid points are matched to the points inside of the patch

How PBC work

All grid points are matched to the points inside of the patch

How PBC work

All grid points are matched to the points inside of the patch

How PBC work

All grid points are matched to the points inside of the patch

How PBC work

All grid points are matched to the points inside of the patch

How PBC work

The finite patch effectively represents the ininite simulation

How PBC work

The finite patch effectively represents the ininite simulation

How PBC work

As a side effect PBC also makes seamless pattern with symmetry (O)

Can we apply PBC idea to other symmetries?

Main idea of SymSim

We repace simulation step with a pair - (symmetrization + simulation)

Illustration of SymSim (XX)

The group fundamental domain

Illustration of SymSim (XX)

The reverse pixel mapping rules

Illustration of SymSim (XX)

Initial pattern inside of the domain

Illustration of SymSim (XX)

Symmetrization

Illustration of SymSim (XX)

Symmetrization

Illustration of SymSim (XX)

Symmetrization

Illustration of SymSim (XX)

Symmetrical but discontinuous pattern

SymSim steps

view after first symmetrization

SymSim steps

view after 10 SymSim steps

SymSim steps

view after 20 SymSim steps

SymSim steps

view after 30 SymSim steps

SymSim steps

view after 40 SymSim steps

SymSim steps

view after 50 SymSim steps

SymSim steps

view after 60 SymSim steps

SymSim steps

view after 70 SymSim steps

SymSim steps

view after 80 SymSim steps

SymSim steps

view after 90 SymSim steps

SymSim steps

view after 100 SymSim steps

SymSim steps

original wrinkles almost gone

SymSim relaxation video

longer simulation completely eliminates the wrinkles

SymSim relaxation video

We got perfect animated pattern with symmetry (XX)

SymSim for "good" groups

Simple Symmetrization for reflection group (✶2222)

SymSim for "good" groups

SymSim for reflection group (✶2222)

SymSim animation examples

U-gliders with symmetry (333)

SymSim animation examples

Periodic windmill with symmetry (4✶2)

SymSim animation examples

Spirals with symmetry (4✶2)

SymSim animation examples

Oscillating tentackes (333)

SymSim animation examples

Spinning worms (333)

SymSim animation examples

Evolving pattern (22X)

SymSim animation examples

Evolving maze (632)

SymSim animation examples

Oscillating flowers (632)

SymSim animation examples

Symmetric chaos (632)

SymSim animation examples

Interactive pattern (XX)

SymSim animation examples

Complex Ginzburg-Landau equation (22X)

SymSim properties

SymSim website

bulatov.org/symsim