BijectiveRules 1.12

documentation notebook
Eric Rowland
​https://ericrowland.github.io/packages.html

Introduction

BijectiveRules is a package for studying right bijective and left bijective cellular automaton rules.
This introduction gives an overview of the main features of the package; the next section provides a complete list of package symbols along with their usage messages and further examples.
To use BijectiveRules, first you will need to load the package by evaluating the following cell. (If you need help, see loading a package.)
<<BijectiveRules`
BijectiveRules uses the same notation as CellularAutomaton. That is, rules are written in the form
{n,k,r}
, where
n
is the rule number,
k
is the number of colors, and
r
is the radius (so that
2r+1
is the number of cells on which the rule depends).
For reversible cellular automata, a row with an infinite right tail (“leftful row”) is represented as
{foregroundlist,tailcolor}
, as in CellularAutomaton.
A row with an infinite left tail (“rightful row”) is represented as
{tailcolor,foregroundlist}
.
Here we explore 2-color, radius 1 ("elementary") right bijective rules.
RightBijectiveRules[2,1]
{85,86,89,90,101,102,105,106,149,150,153,154,165,166,169,170}
This shows which rules can have which backgrounds (white, black, alternating, or either).
Grid[{#,ColorCycles[First[#]]}&/@GatherBy[RightBijectiveRules[2,1],ColorCycles]]
{85,89,101,105}
{{0,1}}
{86,90,102,106}
{{0}}
{149,153,165,169}
{{1}}
{150,154,166,170}
{{0},{1}}
The first class below supports initial conditions with a white background; the second class supports initial conditions with a black background.
({Select[#1,MemberQ[Flatten[ColorCycles[#1]],0]&],Select[#1,MemberQ[Flatten[ColorCycles[#1]],1]&]}&)[RightBijectiveRules[2,1]]
{{85,86,89,90,101,102,105,106,150,154,166,170},{85,89,101,105,149,150,153,154,165,166,169,170}}

White background initial conditions


Black background initial conditions


Package symbols

ApplyRule and ApplyRightBijectiveRuleInverse


BijectiveQ, LeftBijectiveQ, and RightBijectiveQ


BorderBlockLength


ColorCycle and ColorCycles


ColorEquivalentRules


ConvergenceSequence and Rule30ConvergenceData


DependenceStrengths


LeftBijectiveInverse and RightBijectiveInverse


LeftBijectiveRules, RightBijectiveRules, and LeftOrRightBijectiveRules


LeftfulPredecessor and RightfulPredecessor


LeftfulSuccessor and RightfulSuccessor


LeftRightReflection


RandomLeftBijectiveRule and RandomRightBijectiveRule


ReverseRow


ReversibleCellularAutomaton
