Exemplo n.º 1
0
 def test_save_and_load_fermion_operators(self):
     save_operator(self.fermion_operator, self.file_name)
     loaded_fermion_operator = load_operator(self.file_name)
     self.assertEqual(self.fermion_operator,
                      loaded_fermion_operator,
                      msg=str(self.fermion_operator -
                              loaded_fermion_operator))
Exemplo n.º 2
0
    def test_overwrite_flag_save_on_top_of_existing_operator(self):
        save_operator(self.fermion_operator, self.file_name)
        save_operator(self.fermion_operator,
                      self.file_name,
                      allow_overwrite=True)
        fermion_operator = load_operator(self.file_name)

        self.assertEqual(fermion_operator, self.fermion_operator)
Exemplo n.º 3
0
 def test_save_readably(self):
     save_operator(self.fermion_operator, self.file_name, plain_text=True)
     file_path = os.path.join(DATA_DIRECTORY, self.file_name + '.data')
     with open(file_path, "r") as f:
         self.assertEqual(
             f.read(), "\n".join([
                 "FermionOperator:", "-3.17 [1^ 2^ 3 4] +",
                 "-3.17 [4^ 3^ 2 1]"
             ]))
 def test_save_interaction_operator_not_implemented(self):
     constant = 100.0
     one_body = numpy.zeros((self.n_qubits, self.n_qubits), float)
     two_body = numpy.zeros(
         (self.n_qubits, self.n_qubits, self.n_qubits, self.n_qubits), float)
     one_body[1, 1] = 10.0
     two_body[1, 2, 3, 4] = 12.0
     interaction_operator = InteractionOperator(constant, one_body, two_body)
     with self.assertRaises(NotImplementedError):
         save_operator(interaction_operator, self.file_name)
Exemplo n.º 5
0
 def test_save_bad_type(self):
     with self.assertRaises(TypeError):
         save_operator('ping', 'somewhere')
Exemplo n.º 6
0
 def test_save_on_top_of_existing_operator_error_with_explicit_flag(self):
     save_operator(self.fermion_operator, self.file_name)
     with self.assertRaises(OperatorUtilsError):
         save_operator(self.fermion_operator,
                       self.file_name,
                       allow_overwrite=False)
Exemplo n.º 7
0
 def test_save_on_top_of_existing_operator_utils_error(self):
     save_operator(self.fermion_operator, self.file_name)
     with self.assertRaises(OperatorUtilsError):
         save_operator(self.fermion_operator, self.file_name)
Exemplo n.º 8
0
 def test_basic_save(self):
     save_operator(self.fermion_operator, self.file_name)
Exemplo n.º 9
0
 def test_save_no_filename_operator_utils_error(self):
     with self.assertRaises(OperatorUtilsError):
         save_operator(self.fermion_operator)
Exemplo n.º 10
0
 def test_save_and_load_qubit_operators_readably(self):
     save_operator(self.qubit_operator, self.file_name, plain_text=True)
     loaded_qubit_operator = load_operator(self.file_name, plain_text=True)
     self.assertEqual(self.qubit_operator, loaded_qubit_operator)
Exemplo n.º 11
0
 def test_save_and_load_qubit_operators(self):
     save_operator(self.qubit_operator, self.file_name)
     loaded_qubit_operator = load_operator(self.file_name)
     self.assertTrue(self.qubit_operator == loaded_qubit_operator)
Exemplo n.º 12
0
 def test_save_and_load_quad_operators(self):
     save_operator(self.quad_operator, self.file_name)
     loaded_quad_operator = load_operator(self.file_name)
     self.assertEqual(self.quad_operator.terms, loaded_quad_operator.terms)
Exemplo n.º 13
0
 def test_save_and_load_boson_operators_readably(self):
     save_operator(self.boson_operator, self.file_name, plain_text=True)
     loaded_boson_operator = load_operator(self.file_name, plain_text=True)
     self.assertTrue(self.boson_operator == loaded_boson_operator)
Exemplo n.º 14
0
 def test_save_and_load_boson_operators(self):
     save_operator(self.boson_operator, self.file_name)
     loaded_boson_operator = load_operator(self.file_name)
     self.assertEqual(self.boson_operator.terms,
                      loaded_boson_operator.terms,
                      msg=str(self.boson_operator - loaded_boson_operator))
Exemplo n.º 15
0
 def test_raises_error_sympy(self):
     operator = FermionOperator('1^', sympy.Symbol('x'))
     with self.assertRaises(TypeError):
         save_operator(operator, self.file_name, plain_text=False)
Exemplo n.º 16
0
 def test_save_sympy_plaintext(self):
     operator = FermionOperator('1^', sympy.Symbol('x'))
     with self.assertRaises(TypeError):
         save_operator(operator, self.file_name, plain_text=True)