コード例 #1
0
    def test_qp_response_numpy_decoding(self):
        res = decode_qp_numpy(copy.deepcopy(self.res_msg), return_matrix=False)

        self.assertEqual(res.get('format'), 'qp')
        self.assertEqual(res.get('num_variables'), self.res_num_variables)
        self.assertEqual(res.get('active_variables'), list(self.res_active_variables))
        self.assertEqual(res.get('solutions'), list(self.res_solutions))
        self.assertEqual(res.get('energies'), list(self.res_energies))
        self.assertEqual(res.get('num_occurrences'), list(self.res_num_occurrences))
コード例 #2
0
    def test_qp_response_numpy_decoding_numpy_array(self):
        res = decode_qp_numpy(copy.deepcopy(self.res_msg), return_matrix=True)

        self.assertEqual(res.get('format'), 'qp')
        self.assertEqual(res.get('num_variables'), self.res_num_variables)
        np.testing.assert_array_equal(res.get('active_variables'), np.array(self.res_active_variables))
        np.testing.assert_array_equal(res.get('solutions'), np.array(self.res_solutions))
        np.testing.assert_array_equal(res.get('energies'), np.array(self.res_energies))
        np.testing.assert_array_equal(res.get('num_occurrences'), np.array(self.res_num_occurrences))
コード例 #3
0
    def _decode(self):
        """Choose the right decoding method based on format and environment."""

        if self._message['type'] not in ['qubo', 'ising']:
            raise ValueError('Unknown problem format used.')

        # If format is set, it must be qp
        if self._message.get('answer', {}).get('format') != 'qp':
            raise ValueError('Data format returned by server not understood.')

        # prefer numpy decoding, but fallback to python
        # TODO: we should really be explicit about numpy usage
        start = time.time()
        if _numpy:
            self._result = decode_qp_numpy(self._message,
                                           return_matrix=self.return_matrix)
        else:
            self._result = decode_qp(self._message)
        self.parse_time = time.time() - start

        self._alias_result()
        return self._result
コード例 #4
0
ファイル: solver.py プロジェクト: randomir/dwave-cloud-client
 def _decode_qp(self, msg):
     if _numpy:
         return decode_qp_numpy(msg, return_matrix=self.return_matrix)
     else:
         return decode_qp(msg)