Reversión de números enteros
La permutación de reversión de dígitos, y en particular la permutación de reversión de bits, es una técnica de reordenamiento utilizada en algunos algoritmos rápidos de transformada de Fourier.
Defina una función que genere la permutación de reversión de grado .
In[1]:=
reversalperm[k_, b_] := IntegerReverse[Range[0, b^k - 1], b, k] + 1;
Genere la permutación de reversión de bits para listas de longitudes .
In[2]:=
Table[reversalperm[k, 2], {k, 0, 5}]
Out[2]=
Genere la permutación de reversión de dígitos base 3 para listas de 9 elementos.
In[3]:=
reversalperm[2, 3]
Out[3]=
Represente esos cambios.
In[4]:=
segment[{p1_, p2_}] := {PointSize[Large], Point[{p1, p2}],
Line[{p1, p2}], Text[Last[p1], p1 - {1/2, 0}],
Text[Last[p2], p2 + {1/2, 0}]};
In[5]:=
With[{k = 2, b = 3}, Graphics[
segment /@
Thread[{Thread[{0, Range[b^k]}], Thread[{b^k, reversalperm[k, b]}]}]
]]
Out[5]=