def laplacian_gen(N,m,n): rarr = sin_cos_arr(N,m,n) rarr_laplacian = vcalc.laplacian(rarr) X,Y = np.ogrid[0:N, 0:N] X -= N/2; Y -= N/2 calc_laplacian = (- (1.0*m/N)**2 * np.sin(2*m*np.pi*X/N) + (1.0*n/N)**2 * np.cos(2*n*np.pi*Y/N)) ok_(np.allclose(rarr_laplacian, calc_laplacian))
def cderiv_gen(N,m,n): rarr = sin_cos_arr(N,m,n) rarr_xx = vcalc.cderivative(rarr, 'X_DIR', order=2) rarr_yy = vcalc.cderivative(rarr, 'Y_DIR', order=2) rarr_laplacian = vcalc.laplacian(rarr) ok_(np.allclose(rarr_laplacian, rarr_xx + rarr_yy))