def test_compare_w_neurolib_native_model(self): """ Compare with neurolib's native Hopf model. """ # run this model - default is diffusive coupling hopf_multi = HopfNetwork(self.SC, self.DELAYS, seed=SEED) multi_result = hopf_multi.run(DURATION, DT, ZeroInput().as_array(DURATION, DT), backend="numba") # run neurolib's model hopf_neurolib = HopfModel(Cmat=self.SC, Dmat=self.DELAYS, seed=SEED) hopf_neurolib.params["duration"] = DURATION hopf_neurolib.params["dt"] = DT # there is no "global coupling" parameter in MultiModel hopf_neurolib.params["K_gl"] = 1.0 # delays <-> length matrix hopf_neurolib.params["signalV"] = 1.0 hopf_neurolib.params["coupling"] = "diffusive" hopf_neurolib.params["sigma_ou"] = 0.0 hopf_neurolib.params[ "xs_init"] = hopf_multi.initial_state[::2][:, np.newaxis] hopf_neurolib.params["ys_init"] = hopf_multi.initial_state[ 1::2][:, np.newaxis] hopf_neurolib.run() for var in NEUROLIB_VARIABLES_TO_TEST: corr_mat = np.corrcoef(hopf_neurolib[var], multi_result[var].values.T) self.assertTrue(np.greater(corr_mat, CORR_THRESHOLD).all())