Difference between revisions 2146304 and 2210300 on enwikiversity

{| align=right style="text-align=right; border:1px solid lightgray" cellspacing="10"
|[[Walsh permutation]]; [[Walsh permutation; bit permutation|bit permutation]] [[File:Rdrup.svg|link=]]
|}

Finite permutations ''p'' and corresponding bit permutations ''P'' are composed in opposite directions:


<math>p_a * p_b * ... = p_x ~~~~ \Leftrightarrow ~~~~ ... * P_b * P_a = P_x</math>


__TOC__


==p<sub>1</sub> * p<sub>8</sub>==
<math>p_1 * p_8  = p_9 ~~~~ \Leftrightarrow ~~~~ P_8 * P_1 = P_9</math>

<sourceyntaxhighlight lang="matlab">
p1 = [0 1 0 0;
      1 0 0 0;
      0 0 1 0;
      0 0 0 1];
p1 * [1:4]'
ans =
     2
(contracted; show full)     7
     9
    11
    13
    15
%      The result is P9.
%      P1 before P8 = P9
</s
ourceyntaxhighlight>


==p<sub>1</sub> * p<sub>3</sub> * p<sub>8</sub>==
<math>p_1 * p_3 * p_8 = p_6 ~~~~ \Leftrightarrow ~~~~ P_8 * P_3 * P_1 = P_6</math>

<sourceyntaxhighlight lang="matlab">
p1 = [0 1 0 0;
      1 0 0 0;
      0 0 1 0;
      0 0 0 1];

p3 = [0 0 1 0;
      1 0 0 0;
(contracted; show full)     7
    12
    13
    14
    15
%      The result is P6.
%      P1 before P3 before P8 = P6
</s
ourceyntaxhighlight>


==p<sub>8</sub> * p<sub>3</sub> * p<sub>1</sub>==
<math>p_8 * p_3 * p_1 = p_{22} ~~~~ \Leftrightarrow ~~~~ P_1 * P_3 * P_8 = P_{22}</math>

<sourceyntaxhighlight lang="matlab">
p8 * p3 * p1 * [1:4]'
ans =
     3
     4
     2
     1
%      The result is p22.
%      p8 after p3 after p1 = p22



P1 * P3 * P8 * [0:15]'
ans =
     0
     8
     4
    12
     1
     9
     5
    13
     2
    10
     6
    14
     3
    11
     7
    15
%      The result is P22.
%      P8 before P3 before P1 = P22
</sourceyntaxhighlight>


[[Category:Walsh permutation]]
[[Category:Walsh permutation]]
[[Category:Freshly started resources]]