def test_core_covariates_node(covs, sigma): covs_node = core.CovariatesNode(covs, sigma) assert covs_node.num_covs == 3 assert covs_node.shape == (5, 4) assert covs_node.covs_mat.shape == (20, 3) assert np.all(covs_node.weight_mat == 1.0 / sigma**2) assert np.all(covs_node.alpha == 0.0)
def test_core_covariates_node_update_params(covs, sigma): covs_node = core.CovariatesNode(covs, sigma) mat = np.random.randn(*covs_node.shape) vec = mat.reshape(mat.size) covs_node.update_params(mat) c = covs_node.covs_mat.T.dot(covs_node.covs_mat) y = covs_node.covs_mat.T.dot(vec) assert np.linalg.norm(c.dot(covs_node.alpha) - y) < 1e-10
def covs_node(shape): covs = np.ones((1, ) + shape) sigma = 0.1 return core.CovariatesNode(covs, sigma)
def test_core_covariates_node_predict_mat(covs, sigma): covs_node = core.CovariatesNode(covs, sigma) predict_mat = covs_node.predict_mat assert predict_mat.shape == (5, 4) assert np.linalg.norm(predict_mat) < 1e-10