Skip to content
Snippets Groups Projects
test_shift_inversion_dask.py 1.24 KiB
Newer Older
"""Unit tests for module shift_inversion_dask"""

import numpy as np
import pytest

from lisainstrument.dynamic_delay_dask import numpyfy_dask_multi
Wolfgang Kastaun's avatar
Wolfgang Kastaun committed
from lisainstrument.shift_inversion_dask import make_shift_inverse_lagrange_dask
from lisainstrument.shift_inversion_numpy import make_shift_inverse_lagrange_numpy
    """Test basic functioning of shift_inversion_dask on analytic coordinate transform"""
    chunks = 70
    order = 31
    nsamp = 3000
    fsample = 16.0
    dt = 1 / fsample

    f_mod = 0.005
    a_mod = 1e-2 / (2 * np.pi * f_mod)
    max_it = 5
    tol = 1e-10
        return np.sin(2 * np.pi * f_mod * x) * a_mod

    xi = np.arange(nsamp) * dt
    op_np = make_shift_inverse_lagrange_numpy(
        order=order,
        fsample=fsample,
        max_abs_shift=a_mod * 1.01,
        max_iter=max_it,
        tolerance=tol,
    )
    op_da = make_shift_inverse_lagrange_dask(
        order=order,
        fsample=fsample,
        max_abs_shift=a_mod * 1.01,
        max_iter=max_it,
        tolerance=tol,
    )
    op_na = numpyfy_dask_multi(op_da, chunks)


    assert ai_np == pytest.approx(ai_na, abs=tol, rel=0)