[r-t] Delta-based transposition representation
Alan Burlison
alan.burlison at gmail.com
Thu Jun 9 17:59:13 UTC 2016
A while ago I wrote some code to expand place notation to the
corresponding blue line numbers. One thing that I did to make my life
easier was to describe the difference between two rows as deltas. For
example the change between the following two rows:
A 1 2 3 4 5 6
B 2 1 4 3 6 5
would be:
+1 -1 +1 -1 +1 -1
Between the two ends of a sequence of rows:
A 2 6 4 1 5 3
:
N 5 3 6 2 1 4
+3 +1 +3 +1 -4 -4
i.e. the bell in place 1 (#2) has moved +3 places to place 4. the bell
in place 6 (#3) has moved -4 places to place 2.
Applying a change to ma row is very simple - just add the deltas to the
current bell positions. It's easy to create the inverse of a change by
simply reversing the signs of the deltas, and you trivially know if a
change is valid by summing the deltas - the result must be 0. It's also
easy to check for other validity errors, for example the first colunm
must be either 0 or 1 as the bell can't move off the end of the row and
so forth.
I haven't seen changes described this way anywhere else which puzzles me
a bit, because to me it's the blindingly obvious way of doing it, rather
than the position-based notation I've seen used elsewhere.
--
Alan Burlison
--
More information about the ringing-theory
mailing list