def instantiate_model(self):
     m = MultinomialModel(NDieModel(n=6))
     return GaussianRandomWalkModel(m,
                                    diagonal=False,
                                    random_walk_idxs=[1, 2, 4],
                                    model_transformation=(from_simplex,
                                                          to_simplex),
                                    scale_mult='n_meas')
 def instantiate_model(self):
     m = MultinomialModel(NDieModel(n=6))
     mult = lambda eps: eps['n_meas']**2
     return GaussianRandomWalkModel(m,
                                    diagonal=True,
                                    random_walk_idxs=[1, 2, 4],
                                    model_transformation=(from_simplex,
                                                          to_simplex),
                                    scale_mult=mult)
 def instantiate_model(self):
     m = MultinomialModel(NDieModel(n=6))
     cov = np.random.random(size=(3, 3))
     cov = np.dot(cov, cov.T)
     return GaussianRandomWalkModel(m,
                                    fixed_covariance=cov,
                                    diagonal=False,
                                    random_walk_idxs=np.s_[:6:2],
                                    model_transformation=(from_simplex,
                                                          to_simplex),
                                    scale_mult='n_meas')
    def test_indexing(self):
        model = lambda slice: GaussianRandomWalkModel(
            MultinomialModel(NDieModel(n=6)), random_walk_idxs=slice)

        assert (model('all').n_modelparams == 12)
        assert (model(np.s_[:6]).n_modelparams == 12)
        assert (model(np.s_[:6:2]).n_modelparams == 9)
        assert (model([2, 3, 4]).n_modelparams == 9)

        self.assertRaises(IndexError, model, np.s_[:7])
        self.assertRaises(IndexError, model, np.s_[6:])
        self.assertRaises(IndexError, model, [1, 2, 8])
 def instantiate_model(self):
     m = BinomialModel(CoinModel())
     return GaussianRandomWalkModel(m,
                                    fixed_covariance=np.array([0.01]),
                                    diagonal=True)