Exemple #1
0
 def test_qmolecule_log(self):
     """Test QMolecule log function."""
     qmolecule = FCIDumpDriver(
         self.get_resource_path("test_driver_fcidump_h2.fcidump",
                                "drivers/fcidumpd")).run()
     with self.assertLogs("qiskit_nature", level="DEBUG") as _:
         qmolecule.log()
Exemple #2
0
    def setUp(self):
        super().setUp()
        self.core_energy = 0.7199
        self.num_molecular_orbitals = 2
        self.num_electrons = 2
        self.spin_number = 0
        self.wf_symmetry = 1
        self.orb_symmetries = [1, 1]
        self.mo_onee = [[1.2563, 0.0], [0.0, 0.4719]]
        self.mo_eri = [0.6757, 0.0, 0.1809, 0.6646, 0.0, 0.6986]
        try:
            driver = PySCFDriver(
                atom="H .0 .0 .0; H .0 .0 0.735",
                unit=UnitsType.ANGSTROM,
                charge=0,
                spin=0,
                basis="sto3g",
            )
            qmolecule = driver.run()

            with tempfile.NamedTemporaryFile() as dump:
                FCIDumpDriver.dump(qmolecule, dump.name)
                # pylint: disable=import-outside-toplevel
                from pyscf.tools import fcidump as pyscf_fcidump

                self.dumped = pyscf_fcidump.read(dump.name)
        except QiskitNatureError:
            self.skipTest("PYSCF driver does not appear to be installed.")
        except ImportError:
            self.skipTest("PYSCF driver does not appear to be installed.")
Exemple #3
0
 def test_qmolecule_log_with_atoms(self):
     """Test QMolecule log function."""
     qmolecule = FCIDumpDriver(self.get_resource_path(
         'test_driver_fcidump_h2.fcidump', 'drivers/fcidumpd'),
                               atoms=['H', 'H']).run()
     with self.assertLogs('qiskit_nature', level='DEBUG') as _:
         qmolecule.log()
 def test_qmolecule_log_with_atoms(self):
     """Test QMolecule log function."""
     qmolecule = FCIDumpDriver(
         self.get_resource_path("test_driver_fcidump_h2.fcidump",
                                "drivers/second_quantization/fcidumpd"),
         atoms=["H", "H"],
     ).run()
     with self.assertLogs("qiskit_nature", level="DEBUG") as _:
         qmolecule.log()
Exemple #5
0
 def setUp(self):
     super().setUp()
     self.nuclear_repulsion_energy = 11.3412
     self.num_molecular_orbitals = 6
     self.num_alpha = 5
     self.num_beta = 4
     loaded = np.load(self.get_resource_path("test_driver_fcidump_oh.npz", "drivers/fcidumpd"))
     self.mo_onee = loaded["mo_onee"]
     self.mo_onee_b = loaded["mo_onee_b"]
     self.mo_eri = loaded["mo_eri"]
     self.mo_eri_ba = loaded["mo_eri_ba"]
     self.mo_eri_bb = loaded["mo_eri_bb"]
     driver = FCIDumpDriver(
         self.get_resource_path("test_driver_fcidump_oh.fcidump", "drivers/fcidumpd")
     )
     self.qmolecule = driver.run()
Exemple #6
0
 def test_lih(self):
     """LiH test"""
     driver = FCIDumpDriver(
         self.get_resource_path("test_driver_fcidump_lih.fcidump",
                                "drivers/fcidumpd"))
     result = self._run_driver(driver)
     self._assert_energy(result, "lih")
Exemple #7
0
 def test_oh_with_atoms(self):
     """ OH with num_atoms test """
     driver = FCIDumpDriver(self.get_resource_path(
         'test_driver_fcidump_oh.fcidump', 'drivers/fcidumpd'),
                            atoms=['O', 'H'])
     result = self._run_driver(driver, freeze_core=True)
     self._assert_energy(result, 'oh')
Exemple #8
0
 def test_oh(self):
     """ OH test """
     driver = FCIDumpDriver(
         self.get_resource_path('test_driver_fcidump_oh.fcidump',
                                'drivers/fcidumpd'))
     result = self._run_driver(driver, freeze_core=False)
     self._assert_energy(result, 'oh')
 def test_lih(self):
     """ LiH test """
     driver = FCIDumpDriver(
         self.get_resource_path('test_driver_fcidump_lih.fcidump',
                                'drivers/fcidumpd'))
     result = self._run_driver(driver)
     self._assert_energy(result, 'lih')
 def test_oh(self):
     """OH test"""
     driver = FCIDumpDriver(
         self.get_resource_path("test_driver_fcidump_oh.fcidump",
                                "drivers/second_quantization/fcidumpd"))
     result = self._run_driver(driver)
     self._assert_energy(result, "oh")
 def test_lih_with_atoms(self):
     """ LiH with num_atoms test """
     driver = FCIDumpDriver(self.get_resource_path(
         'test_driver_fcidump_lih.fcidump', 'drivers/fcidumpd'),
                            atoms=['Li', 'H'])
     result = self._run_driver(driver,
                               transformers=[FreezeCoreTransformer()])
     self._assert_energy(result, 'lih')
 def setUp(self):
     super().setUp()
     self.nuclear_repulsion_energy = 11.3412
     self.num_orbitals = 6
     self.num_alpha = 5
     self.num_beta = 4
     loaded = np.load(
         self.get_resource_path('test_driver_fcidump_oh.npz',
                                'drivers/fcidumpd'))
     self.mo_onee = loaded['mo_onee']
     self.mo_onee_b = loaded['mo_onee_b']
     self.mo_eri = loaded['mo_eri']
     self.mo_eri_ba = loaded['mo_eri_ba']
     self.mo_eri_bb = loaded['mo_eri_bb']
     driver = FCIDumpDriver(
         self.get_resource_path('test_driver_fcidump_oh.fcidump',
                                'drivers/fcidumpd'))
     self.qmolecule = driver.run()
 def setUp(self):
     super().setUp()
     self.nuclear_repulsion_energy = 0.7199
     self.num_orbitals = 2
     self.num_alpha = 1
     self.num_beta = 1
     self.mo_onee = np.array([[1.2563, 0.0], [0.0, 0.4719]])
     self.mo_onee_b = None
     self.mo_eri = np.array([[[[0.6757, 0.0], [0.0, 0.6646]],
                              [[0.0, 0.1809], [0.1809, 0.0]]],
                             [[[0.0, 0.1809], [0.1809, 0.0]],
                              [[0.6646, 0.0], [0.0, 0.6986]]]])
     self.mo_eri_ba = None
     self.mo_eri_bb = None
     driver = FCIDumpDriver(
         self.get_resource_path('test_driver_fcidump_h2.fcidump',
                                'drivers/fcidumpd'))
     self.qmolecule = driver.run()
Exemple #14
0
 def setUp(self):
     super().setUp()
     self.nuclear_repulsion_energy = 0.9924
     self.num_molecular_orbitals = 6
     self.num_alpha = 2
     self.num_beta = 2
     loaded = np.load(
         self.get_resource_path("test_driver_fcidump_lih.npz",
                                "drivers/second_quantization/fcidumpd"))
     self.mo_onee = loaded["mo_onee"]
     self.mo_onee_b = None
     self.mo_eri = loaded["mo_eri"]
     self.mo_eri_ba = None
     self.mo_eri_bb = None
     driver = FCIDumpDriver(
         self.get_resource_path("test_driver_fcidump_lih.fcidump",
                                "drivers/second_quantization/fcidumpd"))
     self.qmolecule = driver.run()
 def setUp(self):
     super().setUp()
     self.nuclear_repulsion_energy = 0.9924
     self.num_molecular_orbitals = 6
     self.num_alpha = 2
     self.num_beta = 2
     loaded = np.load(
         self.get_resource_path('test_driver_fcidump_lih.npz',
                                'drivers/fcidumpd'))
     self.mo_onee = loaded['mo_onee']
     self.mo_onee_b = None
     self.mo_eri = loaded['mo_eri']
     self.mo_eri_ba = None
     self.mo_eri_bb = None
     driver = FCIDumpDriver(
         self.get_resource_path('test_driver_fcidump_lih.fcidump',
                                'drivers/fcidumpd'))
     self.qmolecule = driver.run()
 def test_oh_with_atoms(self):
     """OH with num_atoms test"""
     driver = FCIDumpDriver(
         self.get_resource_path("test_driver_fcidump_oh.fcidump",
                                "drivers/second_quantization/fcidumpd"),
         atoms=["O", "H"],
     )
     result = self._run_driver(driver,
                               transformers=[FreezeCoreTransformer()])
     self._assert_energy(result, "oh")
Exemple #17
0
 def test_lih_with_atoms(self):
     """LiH with num_atoms test"""
     driver = FCIDumpDriver(
         self.get_resource_path("test_driver_fcidump_lih.fcidump",
                                "drivers/fcidumpd"),
         atoms=["Li", "H"],
     )
     result = self._run_driver(driver,
                               transformers=[FreezeCoreTransformer()])
     self._assert_energy(result, "lih")
Exemple #18
0
 def test_oh_freeze_core(self):
     """ OH freeze core test """
     with self.assertLogs('qiskit_nature', level='WARNING') as log:
         driver = FCIDumpDriver(
             self.get_resource_path('test_driver_fcidump_oh.fcidump',
                                    'drivers/fcidumpd'))
         result = self._run_driver(driver, freeze_core=True)
         self._assert_energy(result, 'oh')
     warning = 'WARNING:qiskit_nature.drivers.qmolecule:Missing molecule information! ' \
               'Returning empty core orbital list.'
     self.assertIn(warning, log.output)
 def test_oh_freeze_core(self):
     """OH freeze core test"""
     with self.assertLogs("qiskit_nature", level="WARNING") as log:
         driver = FCIDumpDriver(
             self.get_resource_path("test_driver_fcidump_oh.fcidump",
                                    "drivers/second_quantization/fcidumpd"))
         result = self._run_driver(driver,
                                   transformers=[FreezeCoreTransformer()])
         self._assert_energy(result, "oh")
     warning = (
         "WARNING:qiskit_nature.drivers.qmolecule:Missing molecule information! "
         "Returning empty core orbital list.")
     self.assertIn(warning, log.output)