def test_fft_axis(): for a in (0, 1): A = op.fft(shapein16, axis=a) yield check_almost_dense_transpose, A
def test_fft_n_complex(): for n in xrange(1, shapein16[-1]): A = op.fft(shapein16, n=n, dtype=np.complex128) yield check_almost_dense_transpose, A
def test_fft_n_real(): for n in xrange(1, shapein16[-1]): A = op.fft(shapein16, n=n, dtype=np.float64) yield check_almost_dense_transpose, A
return a # collection of linear operators to test shapein16 = (16, 16) shapein3_4 = (4, 4, 4) d = np.random.rand(*shapein16) coef = np.random.uniform(high=10.) mask = np.random.rand(*shapein16) > .5 s = int(np.floor(np.random.uniform(low=1, high=16))) p = generate_permutation(16) id16 = op.ndidentity(shapein16) d16 = op.nddiagonal(d) h16 = op.ndhomothetic(shapein16, coef) m16 = op.ndmask(mask) f1_16 = op.fft(shapein16, dtype=np.complex128) f2_16 = op.fft2(shapein16, dtype=np.complex128) lo_list = [id16, d16, h16, m16, f1_16, f2_16] # collection of vectors ones16 = np.ones(shapein16) zeros16 = np.zeros(shapein16) rand16 = np.random.rand(*shapein16) v_list = [ones16, zeros16, rand16 ] # general tests def check_matvec(A, x): A * x.ravel()