SS_tol = 1e-13

# nvec
nvec = np.zeros(S)
nvec[:int(round(2 * S / 3))] = 1
nvec[int(round(2 * S / 3)):] = 0.2

# L
L = nvec.sum()

params = (S, beta, sigma, L, A, alpha, delta, SS_tol)

# Question 1: Feasibility
# (a)
bvec_guess1 = np.ones(S - 1)
print("(a) : ", func.feasible(S, alpha, A, delta, bvec_guess1))

# (b)
bvec_guess2 = np.array([
    -0.01, 0.1, 0.2, 0.23, 0.25, 0.23, 0.2, 0.1, -0.01, 0.1, 0.2, 0.23, 0.25,
    0.23, 0.2, 0.1, -0.01, 0.1, 0.2, 0.23, 0.25, 0.23, 0.2, 0.1, -0.01, 0.1,
    0.2, 0.23, 0.25, 0.23, 0.2, 0.1, -0.01, 0.1, 0.2, 0.23, 0.25, 0.23, 0.2,
    0.1, -0.01, 0.1, 0.2, 0.23, 0.25, 0.23, 0.2, 0.1, -0.01, 0.1, 0.2, 0.23,
    0.25, 0.23, 0.2, 0.1, -0.01, 0.1, 0.2, 0.23, 0.25, 0.23, 0.2, 0.1, -0.01,
    0.1, 0.2, 0.23, 0.25, 0.23, 0.2, 0.1, -0.01, 0.1, 0.2, 0.23, 0.25, 0.23,
    0.2
])
print("(b) : ", func.feasible(S, alpha, A, delta, bvec_guess2))

# (c)
bvec_guess3 = np.array([