common.title

Docs
Quantum Circuit
TYTAN CLOUD

QUANTUM GAMING

Nobisuke

Dekisugi


autoQAOA
DEEPSCORE

Overview
Service overview
Terms of service

Privacy policy

Contact
Research

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