Fast Fourier Transform, Algorithms, Pattern Matching, Convolution, Combination Sum.
must be able to do 2d FFT operations. 2d FFT is intuitively very simple: For each row of the 2d matrix, do 1d FFT. Then for each column do 1d FFT. Here is a python implementation for the same: def fft_2d(arr, omega_x, omega_y): # FFT on each row of 2d matrix new_arr = [] for x in arr: new_arr +=