고속 월시-하다마드 변환

Fast Walsh–Hadamard transform
빠른 월시-하다마드 변환은 길이 8의 벡터에 적용되었다.
입력 벡터에 대한 예제(1, 0, 1, 0, 1, 0)

계산 수학에서, Hadamard는 빠른 Walsh-Hadamard 변환명령했다h. FWHT는 Walsh-Hadamard 변환(WHT)을 계산하는데 효율적인 알고리즘이다. 순서 = 의 WHT를 순진하게 구현하면 계산 복잡도O( n가 될 것이다 FWHT에는h 개의 추가 또는 소급만 필요하다.

는 재귀적으로{n\displaystyle}이 두개의 더 작은 WHTs 크기의 n/2{\displaystyle n/2}에 폐액 저장 탱크 크기의 n이 고장 나면 FWHTh은 divide-and-conquer 알고리즘입니다.[1]이 구현은 2m×2m2^{m}}하다마르 행렬 Hm{\displaystyl{\displaystyle 2^{m}\times은 재귀적 정의를 따른 것이다.eH_:

각 단계에 대한 / 개의 정규화 요인을 함께 그룹화하거나 생략할 수 있다.

월시 주문형, 빠른 월시-하다마드 변환 FWHT라고도w 하는 이 시퀀스 순서는 위와 같은 FWHT를h 계산한 다음 출력을 재배열하여 얻는다.

월시-하다마드 변환의 간단한 빠른 비복구 구현은 m= 여기서 A m 의 m-throot이다

Python 예제 코드

반항하다 fwht(a) -> 없음:     """인플레이스 패스트 월시-하다마드 어레이 변환 a."     h = 1     하는 동안에 h < (a):         을 위해 i  범위(0, (a), h * 2):             을 위해 j  범위(i, i + h):                 x = a[j]                 y = a[j + h]                 a[j] = x + y                 a[j + h] = x - y         h *= 2 

참고 항목

참조

  1. ^ Fino, B. J.; Algazi, V. R. (1976). "Unified Matrix Treatment of the Fast Walsh–Hadamard Transform". IEEE Transactions on Computers. 25 (11): 1142–1146. doi:10.1109/TC.1976.1674569. S2CID 13252360.
  2. ^ 야라가다와 허쉬, "하다마드 행렬 분석 및 합성", 1997년(스프링어)

외부 링크