def test_stationary_solve_1d(): b = np.random.uniform(size=10) r = np.random.uniform(size=9) t = np.concatenate((np.r_[1], r)) tmat = toeplitz(t) soln = np.linalg.solve(tmat, b) soln1 = linalg.stationary_solve(r, b) assert_allclose(soln, soln1, rtol=1e-5, atol=1e-5)
def test_stationary_solve_1d(): b = np.random.uniform(size=10) r = np.random.uniform(size=9) t = np.concatenate((np.r_[1], r)) tmat = toeplitz(t) soln = np.linalg.solve(tmat, b) soln1 = linalg.stationary_solve(r, b) assert_allclose(soln, soln1, rtol=1e-5, atol=1e-5)
def covariance_matrix_solve(self, expval, index, stdev, rhs): if self.grid == False: return super(Stationary, self).covariance_matrix_solve(expval, index, stdev, rhs) from statsmodels.tools.linalg import stationary_solve r = np.zeros(len(expval)) r[0:self.max_lag] = self.dep_params return [stationary_solve(r, x) for x in rhs]
def covariance_matrix_solve(self, expval, index, stdev, rhs): if not self.grid: return super(Stationary, self).covariance_matrix_solve(expval, index, stdev, rhs) from statsmodels.tools.linalg import stationary_solve r = np.zeros(len(expval)) r[0:self.max_lag] = self.dep_params[1:] rslt = [] for x in rhs: if x.ndim == 1: y = x / stdev rslt.append(stationary_solve(r, y) / stdev) else: y = x / stdev[:, None] rslt.append(stationary_solve(r, y) / stdev[:, None]) return rslt