def test_absorption_spectra(self): f, X = absorption_spectra(self.dyn, 10000) self.assertAlmostEqual(f[np.argmax(X)], 12500) self.assertTrue(is_constant(np.diff(f))) self.assertTrue(np.all(np.diff(X)[:int(len(X) / 2.0 - 1)] > 0)) self.assertTrue(np.all(np.diff(X)[-int(len(X) / 2.0 - 1):] < 0)) dyn2 = RedfieldModel(self.ham, rw_freq=12400, discard_imag_corr=True, unit_convert=CM_FS) f2, X2 = absorption_spectra(dyn2, 10000) self.assertAlmostEqual(f2[np.argmax(X2)], 12500, 0)
def test_evolve_basis_sparse_matrix(self): linear_responses = [] def sparse_func(mat): return True for basis, sp in itertools.product(['site', 'eigen'], [False, True, sparse_func]): model = self.get_model(basis, sp) f, X = absorption_spectra(model, 10000) linear_responses.append(X) test_response = linear_responses.pop() for resp in linear_responses: np.allclose(test_response, resp)