亚洲精品久久久久久第一页-人妻少妇精彩视品一区二区三区-91国产自拍免费视频-免费一级a在线播放视频正片-少妇天天日天天射天天爽-国产大屁股喷水视频在线观看-操美女骚穴抽插性爱视频-亚洲 欧美 中文字幕 丝袜-成人免费无码片在线观看

html隨機(jī)選數(shù)代碼介紹 html隨機(jī)數(shù)生成器( 二 )


由于量子測(cè)量會(huì)導(dǎo)致量子態(tài)的坍縮,也就是說(shuō),每一次測(cè)量之后,都需要重新制備量子態(tài) 。而制備一個(gè)產(chǎn)生隨機(jī)數(shù)的量子態(tài),我們可以用如下所示的H量子門操作來(lái)實(shí)現(xiàn) 。其具體的矩陣表述可以參考這篇博客,量子計(jì)算本質(zhì)上就是用特殊的硬件方法,快速地實(shí)現(xiàn)大規(guī)模的矩陣運(yùn)算,這也是其展現(xiàn)量子優(yōu)勢(shì)的來(lái)源 。
這里我們直接使用開(kāi)源量子計(jì)算框架ProjectQ來(lái)實(shí)現(xiàn)這個(gè)門操作,就省去了自己去模擬實(shí)習(xí)的繁瑣操作:
# random_number.pyfrom projectq import MainEnginefrom projectq.ops import H, Measuredef random_number_generator():eng = MainEngine()qubit = eng.allocate_qubit()H | qubiteng.flush()Measure | qubitrandom_number = int(qubit)eng.flush(deallocate_qubits=True)return random_numberif __name__ == '__main__':random_number = random_number_generator()print ('Random number generated by quantum simulator is: {}'.format(random_number))這里順帶的介紹下ProjectQ的一些操作實(shí)現(xiàn)的方法,在ProjectQ中將眾多的量子比特作為寄存器來(lái)進(jìn)行調(diào)用,這些寄存器都在給定的engine下賦予了各種操作,如量子門操作、打印線路、編譯優(yōu)化等 。編程框架與實(shí)際的量子比特并不在架構(gòu)上的同一個(gè)層次,每次傳送指令都是通過(guò)eng.flush()打包進(jìn)行編譯優(yōu)化之后,再傳送到后端去逐一執(zhí)行 。因此如果要測(cè)量量子比特(在ProjectQ模擬器中必須只能全部執(zhí)行測(cè)量操作,不能只測(cè)量其中的某一個(gè)部分),或者是讀取某一個(gè)量子態(tài)的概率時(shí),都需要先執(zhí)行eng.flush()才行 。接下來(lái)簡(jiǎn)單看下上述代碼的執(zhí)行效果:
[dechin@dechin-manjaro pytest]$ python3 random_number.py Random number generated by quantum simulator is: 1[dechin@dechin-manjaro pytest]$ python3 random_number.py Random number generated by quantum simulator is: 1[dechin@dechin-manjaro pytest]$ python3 random_number.py Random number generated by quantum simulator is: 0[dechin@dechin-manjaro pytest]$ python3 random_number.py Random number generated by quantum simulator is: 0[dechin@dechin-manjaro pytest]$ python3 random_number.py Random number generated by quantum simulator is: 1在這個(gè)案例中,每一次都會(huì)產(chǎn)生一個(gè)新的隨機(jī)數(shù)0或者1,并且在量子比特使用結(jié)束之后,通過(guò)eng.flush(deallocate_qubits=True)可以初始化該寄存器,所有的振幅和測(cè)量結(jié)果都會(huì)被丟棄 。
注意!?。⌒枰⒁獾氖?,由于這里我們是使用了模擬器來(lái)模擬量子計(jì)算機(jī)的行為,因此得到的隨機(jī)數(shù)結(jié)果還是偽隨機(jī)數(shù) 。只有當(dāng)這一串代碼執(zhí)行在量子處理器上時(shí),我們才能得到真隨機(jī)數(shù) 。
pytest測(cè)試安裝pytest庫(kù)首先我們可以通過(guò)pip來(lái)更新安裝pytest:
[dechin@dechin-manjaro pytest]$ python3 -m pip install -U pytestCollecting pytestDownloading pytest-6.2.2-py3-none-any.whl (280 kB)|████████████████████████████████| 280 kB 464 kB/s Requirement already satisfied, skipping upgrade: iniconfig in /home/dechin/anaconda3/lib/python3.8/site-packages (from pytest) (1.1.1)Requirement already satisfied, skipping upgrade: pluggy<1.0.0a1,>=0.12 in /home/dechin/anaconda3/lib/python3.8/site-packages (from pytest) (0.13.1)Requirement already satisfied, skipping upgrade: attrs>=19.2.0 in /home/dechin/anaconda3/lib/python3.8/site-packages (from pytest) (20.3.0)Requirement already satisfied, skipping upgrade: toml in /home/dechin/anaconda3/lib/python3.8/site-packages (from pytest) (0.10.1)Requirement already satisfied, skipping upgrade: packaging in /home/dechin/anaconda3/lib/python3.8/site-packages (from pytest) (20.4)Requirement already satisfied, skipping upgrade: py>=1.8.2 in /home/dechin/anaconda3/lib/python3.8/site-packages (from pytest) (1.9.0)Requirement already satisfied, skipping upgrade: pyparsing>=2.0.2 in /home/dechin/anaconda3/lib/python3.8/site-packages (from packaging->pytest) (2.4.7)Requirement already satisfied, skipping upgrade: six in /home/dechin/anaconda3/lib/python3.8/site-packages (from packaging->pytest) (1.15.0)Installing collected packages: pytestAttempting uninstall: pytestFound existing installation: pytest 6.2.1Uninstalling pytest-6.2.1:Successfully uninstalled pytest-6.2.1Successfully installed pytest-6.2.2安裝完成后,可以通過(guò)如下指令來(lái)查看安裝的pytest版本:


以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問(wèn)題,請(qǐng)您及時(shí)就醫(yī)或請(qǐng)專業(yè)人士給予相關(guān)指導(dǎo)!

「愛(ài)刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對(duì)您有所幫助: