Python | Transformación rápida de Walsh Hadamard

Fast Walsh Hadamard Transform , es un algoritmo eficiente ordenado de Hadamard para calcular la transformada de Walsh Hadamard (WHT). El cálculo WHT normal tiene una complejidad de N = 2 m , pero el uso de FWHT reduce el cálculo a O(n 2 ) . El FWHT requiere operaciones de sumas y restas O(n logn) . Es un algoritmo divide y vencerás que descompone el WHT recursivamente. 
 

sympy.discrete.transforms.fwht( ) : Puede realizar Walsh Hadamard Transform (WHT) . Este método utiliza el ordenamiento de secuencias de Hadamard. 
Automáticamente, la secuencia se completa con cero a la derecha porque el radix-2 FWHT requiere el número de punto de muestra como una potencia de 2. 
 

Parameters : 
-> seq : [iterable] sequence on which WHT is to be applied.

Returns : 
Fast Walsh Hadamard Transform Transform

Ejemplo 1 : 
 

Python3

# import sympy
from sympy import fwht
 
# sequence
seq = [23,
       56,
       12,
       555]
 
# hwht
transform = fwht(seq)
print ("Transform  : ", transform)

Producción : 
 

Transform  :  [646, -576, -488, 510]

Ejemplo #2: 
 

Python3

# import sympy
from sympy import fwht
 
# sequence
seq = [15, 21, 13, 44]
 
# hwht
transform = fwht(seq)
print ("Transform  : ", transform)

Producción : 
 

Transform  :  [93, -37, -21, 25]

Publicación traducida automáticamente

Artículo escrito por Kirti_Mangal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *