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.terms, loaded_fermion_operator.terms, msg=str(self.fermion_operator - loaded_fermion_operator))
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)
def test_save_bad_type(self): with self.assertRaises(TypeError): save_operator('ping', 'somewhere')
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)
def test_basic_save(self): save_operator(self.fermion_operator, self.file_name)
def test_save_no_filename_operator_utils_error(self): with self.assertRaises(OperatorUtilsError): save_operator(self.fermion_operator)
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.assertEqual(self.qubit_operator.terms, loaded_qubit_operator.terms)