白嫖党狂喜:量子计算机也能薅羊毛了?

    你是不是觉得,量子计算机只有科学家和大厂才玩得起?其实不然!现在普通人也能用上免费·真·量子计算机,门槛低到你想不到,操作难度堪比点外卖!

    说实话,这标题确实有点标题党嫌疑,但IBM真的已经开放了量子计算机给个人用户,只要你有邮箱,就能申请账户。遥想大学时,我曾经在模拟器里自娱自乐玩的不亦乐乎,没想到几年后,居然用上真正的量子芯片了。

操作流程很简单:

    直接上IBM官网(https://quantum.ibm.com/),注册个账号,登录进去就能看到你的个人面板,每个月系统就白送你10分钟的量子计算额度。

    参考文档随手写个小程序,通常2-3秒就能跑完。比如搞个量子随机数生成器,再跑个量子电路模拟。只用了几秒钟的额度,免费额度对普通人来说完全够用,根本不用担心排队。每次提交任务,几秒钟就能拿到结果,效率很高。

    总之,IBM这波是真的大方,让我这样的普通人也能感受一下量子计算机的魅力。

简单测试一下

from qiskitimport QuantumCircuit, transpile

from qiskit_ibm_runtimeimport QiskitRuntimeService, SamplerV2as Sampler

# 构造Bell态电路

bell_circuit = QuantumCircuit(2)

bell_circuit.h(0)

bell_circuit.cx(0,1)

# Z基测量

z_circuit = bell_circuit.copy()

z_circuit.measure_all()

# X基测量

x_circuit = bell_circuit.copy()

x_circuit.h(0)

x_circuit.h(1)

x_circuit.measure_all()

service = QiskitRuntimeService()

backend = service.least_busy(operational=True,simulator=False)

# 关键:在提交前进行转译

transpiled_circuits = transpile([z_circuit, x_circuit],backend=backend)

sampler = Sampler(backend)

job = sampler.run(transpiled_circuits)

print(f"job id: {job.job_id()}")

result = job.result()

# print(result)

from collectionsimport Counter

import numpyas np

from collectionsimport Counter

for idx, pub_resultin enumerate(result):

print(f"\n====== 电路{idx+1} 测量结果提取测试 ======")

bitarray = pub_result.data.meas

# 方式get_bitstrings

    try:

bitstrings = bitarray.get_bitstrings()

print("get_bitstrings()成功,前5项:", bitstrings[:5])

counts = Counter(bitstrings)

total =sum(counts.values())

print("分布:")

for bitstring, countin counts.items():

print(f"比特串 {bitstring}: 概率 {count/total:.4f}")

continue  # 如果此方法成功,后面不用测了

    except Exception as e:

print("get_bitstrings()失败:", e)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容