Example #1
0
    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)
Example #2
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)