def METHOD_NAME(A, b, x0, nIters, lMax, lMin):
    """Chebyshev iterative solver using numpy"""
    d = (lMax + lMin) / 2
    c = (lMax - lMin) / 2
    x = x0
    Ax = np.dot(A, x)
    r = b - Ax
    for i in range(nIters):
        z = r
        if i == 0:
            p = z
            alpha = 1 / d
        elif i == 1:
            beta = 0.5 * (c * alpha) ** 2
            alpha = 1 / (d - beta / alpha)
            p = z + beta * p
        else:
            beta = (c / 2 * alpha) ** 2
            alpha = 1 / (d - beta / alpha)
            p = z + beta * p
        x = x + alpha * p
        Ax = np.dot(A, x)
        r = b - Ax
        residual = np.dot(r, r)
        if residual <= 1e-29:
            print(f"chebyshev_numpy: converged in {i} iters")
            break
    return x