def METHOD_NAME():
    tol = 10 ** (-6)
    rng = np.random.default_rng(utt.fetch_seed())
    x = matrix()
    radius_bound = spectral_radius_bound(x, 5)
    f = aesara.function([x], radius_bound)
    shp = (3, 4)
    m = rng.random(shp)
    m = np.cov(m).astype(config.floatX)
    radius_bound_aesara = f(m)
    # test the approximation
    mm = m
    for i in range(5):
        mm = np.dot(mm, mm)
    radius_bound_numpy = np.trace(mm) ** (2 ** (-5))
    assert abs(radius_bound_numpy - radius_bound_aesara) < tol
    # test the bound
    eigen_val = numpy.linalg.eig(m)
    assert (eigen_val[0].max() - radius_bound_aesara) < tol
    # test type errors
    xx = vector()
    ok = False
    try:
        spectral_radius_bound(xx, 5)
    except TypeError:
        ok = True
    assert ok
    ok = False
    try:
        spectral_radius_bound(x, 5.0)
    except TypeError:
        ok = True
    assert ok
    # test value error
    ok = False
    try:
        spectral_radius_bound(x, -5)
    except ValueError:
        ok = True
    assert ok