BijectiveRules 1.12
BijectiveRules 1.12
documentation notebook
Introduction
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.
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 , where is the rule number, is the number of colors, and is the radius (so that is the number of cells on which the rule depends).
{n,k,r}
n
k
r
2r+1
For reversible cellular automata, a row with an infinite right tail (“leftful row”) is represented as , as in CellularAutomaton.
A row with an infinite left tail (“rightful row”) is represented as.
{foregroundlist,tailcolor}
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
White background initial conditions
Black background initial conditions
Black background initial conditions
Package symbols
Package symbols
ApplyRule and ApplyRightBijectiveRuleInverse
ApplyRule and ApplyRightBijectiveRuleInverse
BijectiveQ, LeftBijectiveQ, and RightBijectiveQ
BijectiveQ, LeftBijectiveQ, and RightBijectiveQ
BorderBlockLength
BorderBlockLength
ColorCycle and ColorCycles
ColorCycle and ColorCycles
ColorEquivalentRules
ColorEquivalentRules
ConvergenceSequence and Rule30ConvergenceData
ConvergenceSequence and Rule30ConvergenceData
DependenceStrengths
DependenceStrengths
LeftBijectiveInverse and RightBijectiveInverse
LeftBijectiveInverse and RightBijectiveInverse
LeftBijectiveRules, RightBijectiveRules, and LeftOrRightBijectiveRules
LeftBijectiveRules, RightBijectiveRules, and LeftOrRightBijectiveRules
LeftfulPredecessor and RightfulPredecessor
LeftfulPredecessor and RightfulPredecessor
LeftfulSuccessor and RightfulSuccessor
LeftfulSuccessor and RightfulSuccessor
LeftRightReflection
LeftRightReflection
RandomLeftBijectiveRule and RandomRightBijectiveRule
RandomLeftBijectiveRule and RandomRightBijectiveRule
ReverseRow
ReverseRow
ReversibleCellularAutomaton
ReversibleCellularAutomaton