A transformada de Walsh-Hadamard (WHT) é uma generalização da transformada de Fourier e é uma transformação ortogonal em um vetor de números reais ou complexos de dimensão . A transformação é popular na computação quântica, mas foi estudada recentemente como uma espécie de pré-condicionador para projeções aleatórias de vetores de alta dimensão para uso na prova do Lema Johnson-Lindenstrauss. Sua principal característica é que, embora seja uma matriz quadrada , ela pode ser aplicada a um vetor no tempo (em vez de ) por um método semelhante à FFT.
Suponha que o vetor de entrada seja escasso : ele possui apenas algumas entradas diferentes de zero (digamos ). Existe alguma maneira para calcular a WHT em tempo de modo a que e para ?
Nota: esses requisitos são apenas uma maneira de formalizar a ideia de que eu gostaria de algo que seja executado mais rapidamente que para pequeno .
fonte
Respostas:
Exemplo:
d = 4.
WHT H é
O conjunto arbitrário de colunas é 00 e 10 (mais à esquerda e duas a mais):
Blocos de linha são
e
fonte