示例#1
0
def main():
    n = 10000
    K = int(n**(1 / 2))
    arr = multiplicative_method(n)

    frequency_test(K, n, arr)
    get_params(arr, n)
    get_R()

    is_ok(arr, get_x)
示例#2
0
def get_R():
    n_t = [100, 1000, 10000]
    step = 2
    for n in n_t:
        arr = list(multiplicative_method(n))
        print(f"n = {n}")

        R = 0
        for i in range(0, n - step):
            R += arr[i] * arr[i + step]
        R = (R / (n - step) - (1. / 2.)**2) / (1. / 12.)
        print(f"step={step}; R={R}\n")
示例#3
0
def main():
    n = 10000
    alfa = 1.5
    x = generator.multiplicative_method(n)
    y = list()
    for item in x:
        y.append(get_x(item, alfa))
    print(f"Y={y}\nX={x}")

    hist.get_hist1(y, np.arange(0, 5, 0.0001),
                   [func(x) for x in np.arange(0, 5, 0.0001)])
    values.get_params(y, len(y))

    is_ok(y, density)
示例#4
0
def main():
    func_p = Geometric
    a = 0
    b = 20
    step = 1
    n = 10000

    arr = bsv.multiplicative_method(n)
    dsv = get_dsv(arr, func_p, a, b, step)
    print(f"X={arr}\nDSV={dsv}")

    plot(dsv, a, b, step)
    hist(dsv)
    get_params(dsv, len(dsv))
    P, Y = func_p(a, b, step)
    is_ok(dsv, discrete=True, P=P, Y=Y)
示例#5
0
def main():
    n = 10000
    K = int(n**(1 / 2))
    arr = multiplicative_method(n)
    p = frequency_test(K, n, arr)
    get_hist(np.arange(0., 1., 1 / K), p, K, [0, 1], [1 / K, 1 / K])