common.title

Docs
Quantum Circuit
TYTAN CLOUD

QUANTUM GAMING


Overview
Contact
Event
Project
Research

Terms of service (Web service)

Terms of service (Quantum and ML Cloud service)

Privacy policy


Sign in
Sign up
common.title

D-Waveでレスポンスからサンプルを取り出す時の備忘録

Yuichiro Minato

2020/11/03 00:13

#量子アニーリング #D-Wave

4

D-Waveではshotと言ってたくさん計算をします。戻ってきたオブジェクトから計算結果を取り出す方法を残しておきます。

response = EmbeddingComposite(DWaveSampler(endpoint='https://cloud.dwavesys.com/sapi', token=token, solver='Advantage_system1.1')).sample(bqm, num_reads=1000)
print(response)

このようにやると、

0 1 2 energy num_oc. chain_.
0 1 1 0 -2.0 550 0.0
1 0 1 1 -1.5 294 0.0
2 0 0 1 -0.5 59 0.0
3 1 0 0 0.0 37 0.0
4 0 0 0 0.0 33 0.0
5 0 1 0 0.0 27 0.0
['BINARY', 6 rows, 1000 samples, 3 variables]

配列で欲しいので、

response.record

こうすると、

rec.array([([1, 1, 0], -2. , 550, 0.), ([0, 1, 1], -1.5, 294, 0.),
([0, 0, 1], -0.5, 59, 0.), ([1, 0, 0], 0. , 37, 0.),
([0, 0, 0], 0. , 33, 0.), ([0, 1, 0], 0. , 27, 0.)],
dtype=[('sample', 'i1', (3,)), ('energy', '<f8'), ('num_occurrences', '<i8'), ('chain_break_fraction', '<f8')])

また、

response.first.sample.values()

こうすると、

dict_values([1, 1, 0])

上記のように取り出せます。listにするときは、list()で囲むと使いやすくなります。

© 2025, blueqat Inc. All rights reserved