Wednesday 6 July 2016

new operators: append-column and random-column

Just a very brief one today. I need these two operators to cleanly implement the HTM style sequence learning (details in the next post). Simply enough, given an object, it appends column(s) to it.

Simplest explanation is just a couple of examples:
-- append a column with 6 elements on:
sa: append-column[6] |X>
|X: 0> + |X: 1> + |X: 2> + |X: 3> + |X: 4> + |X: 5>

-- append a column with only 1 element on:
sa: random-column[6] |X>
|X: 3>

-- append a column to all kets, with 3 elements on:
sa: append-column[3] (|X> + |Y> + |Z>)
|X: 0> + |X: 1> + |X: 2> + |Y: 0> + |Y: 1> + |Y: 2> + |Z: 0> + |Z: 1> + |Z: 2>

-- append a column to all kets, with only 1 element on:
sa: random-column[3] (|X> + |Y> + |Z>)
|X: 2> + |Y: 0> + |Z: 2>
Next, observe that extract-category is essentially the inverse of these two operators:
sa: extract-category append-column[20] (|X> + |Y> + |Z>)
20|X> + 20|Y> + 20|Z>

sa: extract-category random-column[20] (|X> + |Y> + |Z>)
|X> + |Y> + |Z>
And I guess that is about it!

No comments:

Post a Comment