Update Block RIP
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
function result = get_our_ub(delta, N, C, M, eps)
|
||||
result = delta^2 * N / (C * M * (log(M) - log(eps)));
|
||||
end
|
||||
@@ -0,0 +1,13 @@
|
||||
function result = get_wl_ub(N, M, eps)
|
||||
k1 = sqrt((M - 1) / N);
|
||||
k2 = log(M * N);
|
||||
k3 = sqrt(k2 - log(eps));
|
||||
k4 = sqrt(log(2 * M) - log(eps));
|
||||
|
||||
delta_1 = 24 * k1 * k2 * (2 * k3 + 1);
|
||||
delta_2 = 1.5 * k1 * (2 * k4 + 1);
|
||||
|
||||
numerator = N * (1/8 - delta_1 - delta_2) ^ 2;
|
||||
denominator = 81 * M * k2 * (1 + 2 * delta_2 / 3);
|
||||
result = numerator / denominator;
|
||||
end
|
||||
@@ -0,0 +1,25 @@
|
||||
clc;
|
||||
clear;
|
||||
|
||||
M = 50;
|
||||
eps = 1e-5;
|
||||
delta = 0.3;
|
||||
C = 10.66;
|
||||
|
||||
nums = 10:0.1:50;
|
||||
num = length(nums);
|
||||
N = zeros(1, num);
|
||||
upper_bound_C1 = zeros(1, num);
|
||||
upper_bound_C2 = zeros(1, num);
|
||||
|
||||
for i = 1: length(nums)
|
||||
N(i) = 10^nums(i);
|
||||
upper_bound_C1(i) = get_our_ub(1, N(i), C, M, eps);
|
||||
upper_bound_C2(i) = get_wl_ub(N(i), M, eps);
|
||||
N(i) = nums(i);
|
||||
end
|
||||
|
||||
semilogy(N, upper_bound_C1, 'r-', N, upper_bound_C2, 'b');
|
||||
xlabel("log_{10}(N)");
|
||||
ylabel("Upper bound of K");
|
||||
title("Prob(\delta_K < 0.3) >= 1 - 10^{-5}")
|
||||
Reference in New Issue
Block a user