def METHOD_NAME(par):
    """Dot-test and inversion for smoothing"""
    # 1d kernel on 1d signal
    D1op = Smoothing1D(nsmooth=5, dims=par["nx"], dtype="float64")
    assert dottest(D1op, par["nx"], par["nx"])
    x = np.random.normal(0, 1, par["nx"])
    y = D1op * x
    xlsqr = lsqr(D1op, y, damp=1e-10, iter_lim=100, atol=1e-8, btol=1e-8, show=0)[0]
    assert_array_almost_equal(x, xlsqr, decimal=3)
    # 1d kernel on 2d signal
    D1op = Smoothing1D(
        nsmooth=5, dims=(par["ny"], par["nx"]), axis=par["axis"], dtype="float64"
    )
    assert dottest(D1op, par["ny"] * par["nx"], par["ny"] * par["nx"])
    x = np.random.normal(0, 1, (par["ny"], par["nx"])).ravel()
    y = D1op * x
    xlsqr = lsqr(D1op, y, damp=1e-10, iter_lim=100, atol=1e-8, btol=1e-8, show=0)[0]
    assert_array_almost_equal(x, xlsqr, decimal=3)
    # 1d kernel on 3d signal
    D1op = Smoothing1D(
        nsmooth=5,
        dims=(par["nz"], par["ny"], par["nx"]),
        axis=par["axis"],
        dtype="float64",
    )
    assert dottest(
        D1op,
        par["nz"] * par["ny"] * par["nx"],
        par["nz"] * par["ny"] * par["nx"],
        rtol=1e-3,
    )
    x = np.random.normal(0, 1, (par["nz"], par["ny"], par["nx"])).ravel()
    y = D1op * x
    xlsqr = lsqr(D1op, y, damp=1e-10, iter_lim=100, atol=1e-8, btol=1e-8, show=0)[0]
    assert_array_almost_equal(x, xlsqr, decimal=3)