'Compute the value of a policy.
Parameters
sigma : array_like(int, ndim=1)
Policy vector, of length n.
Returns
v_sigma : ndarray(float, ndim=1)
Value vector of `sigma`, of length n.'

def evaluate_policy(self, sigma):

    if (self.beta == 1):
        raise NotImplementedError(self._error_msg_no_discounting)
    (R_sigma, Q_sigma) = self.RQ_sigma(sigma)
    b = R_sigma
    A = (self._I - (self.beta * Q_sigma))
    v_sigma = self._lineq_solve(A, b)
    return v_sigma
