Schoute permutation
Schoute matrix |
perm/metributes/schoute_perm |
A Schoute permutation is a Walsh permutation corresponding to a permutation matrix.
It can be seen as a permutation of hypercube vertices derived from a permutation of coordinate axes.
In the signed case (see below) the axes can also change their directions.
A Schoute permutation or degree d has length 2d.
Like with all Walsh permutations, it makes sense to see them as periodic.
The n-th Schoute permutation is row n of the number triangle A195665.
The most well known Schoute permutations are the bit-reversal permutations.
They are always the last row in a finite Schoute matrix, because the reversal is always the last among the finite permutations.
Also well known (but very forgettable) are those that simply sort the even before the odd numbers. (The corresponding finite permutations are the left shifts.)
examples with degree 4 (Python code) | ||||||
---|---|---|---|---|---|---|
This code uses the Python library discrete helpers. import numpy as np
from discretehelpers.a import int_to_perm
perm_matrix = np.zeros([24, 4], dtype=int)
schoute_matrix = np.zeros([24, 16], dtype=int)
for i in range(24):
perm_object = int_to_perm(i)
perm_matrix[i, :] = perm_object.sequence(4)
schoute_matrix[i, :] = perm_object.schoute_perm.sequence(16)
|
usage
[edit | edit source]These number patterns appear in many sources related to computer science.
SIMD related question (Stackoverflow) |
---|
Is there a SIMD intrinsics like scatter but between registers? x = _mm256_shuffle_epi8(x, _mm256_setr_epi8( 0, 8, 1, 9, 2, 10, 3, 11, 4, 12, 5, 13, 6, 14, 7, 15, 0, 8, 1, 9, 2, 10, 3, 11, 4, 12, 5, 13, 6, 14, 7, 15)); |
N-dimensional representation classes (Galactic Dynamics) |
---|
N-dimensional representation classes <NDCartesianRepresentation (x1, x2) in kpc [(0., 8.), (1., 9.), (2., 10.), (3., 11.), (4., 12.), (5., 13.), (6., 14.), (7., 15.)]> <NDCartesianRepresentation (x1, x2, x3, x4) in kpc [(0., 4., 8., 12.), (1., 5., 9., 13.), (2., 6., 10., 14.), (3., 7., 11., 15.)]> |
16 sectors on a ProDOS disk track (Google groups) |
---|
ProDOS vs DOS 3.3 sector order, sector headers, and interleaving Then the 16 sectors on a ProDOS disk track are ordered |
leaf nodes of collapsed trees (PDF) |
---|
Dynamic processor allocation in hypercube computers by Chuang and Tzeng (1990) Fig. 1. A binary tree representation (T4) with a parameter <t0, t1, t2, t3> = <0, 2, 3, 1>. |
Primer Preserving Permutations in music theory (PDF) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
MODELING THE MULTISCALE STRUCTURE OF CHORD SEQUENCES USING POLYTOPIC GRAPHS by Louboutin and Bimbot
Table 1. List of the 6 PPPs, together with their corresponding Prototypical Carrier Sequences (PCS). |
signed
[edit | edit source]A signed Schoute permutation is a Schoute permutation permuted by the row of a XOR table.
It corresponds to a signed permutation (but is not itself signed).
This file shows all 16·24 = 384 signed Schoute permutations of degree 4. Each 16×16 matrix shows a Schoute permutation in the top row and its XOR permutations below.