def chebyshev(n, x):
    """
    evaluates the Chebyshev polynomials of odd degrees at x

    Parameters
    ----------
    n
        highest degree of Cheybshev polynomials to evaluate;
        the ndarray returned has n entries, from 0 to n-1
    x
        point at which to evaluate the Chebyshev polynomials

    Returns
    -------
    list
        values of the odd-degree Chebyshev polynomials at x

    N.B. The input n must be even and at least 6.
    """
    assert n % 2 == 0, "chebyshev degree should be even"
    assert n >= 6, "chebyshev degree should be > 6"
    t = []
    t.append(x.clone())
    y = 4 * x.square() - 2
    z = y - 1
    t.append(z.mul(x))
    for k in range(2, n // 2):
        t.append(y * t[k - 1] - t[k - 2])
    return t