Forwarded from Python3
آموزش الگوریتمهای کوانتومی – پارت ۹: گیتهای چندکیوبیتی و درهمتنیدگی (Entanglement)
هدف پارت نهم
در این پارت، به بررسی گیتهای چندکیوبیتی و مفهوم درهمتنیدگی (Entanglement) میپردازیم که یکی از مهمترین ویژگیهای محاسبات کوانتومی است. درهمتنیدگی به ما این امکان را میدهد که با استفاده از گیتهای خاص، حالتهایی ایجاد کنیم که بین چند کیوبیت بهطور وابسته عمل میکنند.
گیت CNOT
یکی از مهمترین گیتهای دوکیوبیتی، گیت CNOT است که یک گیت کنترلی است. این گیت به این شکل عمل میکند:
- اگر کیوبیت کنترلی برابر با 0 باشد، کیوبیت هدف تغییر نمیکند.
- اگر کیوبیت کنترلی برابر با 1 باشد، کیوبیت هدف NOT میشود (حالتش برعکس میشود).
به زبان ساده:
ایجاد درهمتنیدگی با گیت CNOT و H
حالا میخواهیم با استفاده از گیت هادامارد (H) و گیت CNOT یک حالت درهمتنیده ایجاد کنیم. حالت درهمتنیده معروف Bell به شکل زیر ساخته میشود:
1. ابتدا هر دو کیوبیت در حالت اولیه |0⟩ هستند.
2. یک گیت هادامارد روی کیوبیت اول اعمال میکنیم:
3. سپس یک گیت CNOT روی هر دو کیوبیت اعمال میکنیم که کیوبیت اول بهعنوان کنترلی عمل میکند:
این حالت درهمتنیدگی کامل دو کیوبیت را نشان میدهد، به این معنی که اگر یکی از کیوبیتها را اندازهگیری کنیم، کیوبیت دیگر نیز بهطور آنی وضعیت متناظر را خواهد داشت.
مثال پیادهسازی در Qiskit
در اینجا، یک مدار ساده برای ایجاد حالت Bell را پیادهسازی میکنیم:
توضیح کد
1. ایجاد مدار:
مدار شامل دو کیوبیت و دو بیت کلاسیک است که برای ذخیره نتایج اندازهگیری استفاده میشوند.
2. اعمال گیت هادامارد:
گیت هادامارد روی کیوبیت 0 اعمال شده و آن را در حالت سوپریپوزیشن قرار میدهد.
3. اعمال گیت CNOT:
این گیت کیوبیت 1 را با توجه به وضعیت کیوبیت 0 تغییر میدهد و حالت درهمتنیده ایجاد میکند.
4. اندازهگیری:
کیوبیتها اندازهگیری شده و نتایج آنها در بیتهای کلاسیک ذخیره میشود.
5. نمایش نتیجه:
نتیجه شامل مقادیر اندازهگیریشده خواهد بود که بهطور معمول شامل حالتهای 00 و 11 است.
نتیجه اجرای کد
خروجی ممکن است به شکل زیر باشد:
این خروجی نشان میدهد که مدار کوانتومی بهدرستی حالت Bell را ایجاد کرده است.
تمرین برای شما:
1. مدار را بهگونهای تغییر دهید که به جای ایجاد حالت |00⟩ + |11⟩، حالت |01⟩ + |10⟩ ایجاد کند.
2. توضیح دهید که چگونه درهمتنیدگی در الگوریتمهای کوانتومی مانند الگوریتم شُر و الگوریتم گروور استفاده میشود.
پارت بعدی:
در پارت ۱۰، به بررسی تحلیل فوریه کوانتومی (QFT) و کاربرد آن در الگوریتمهای کوانتومی میپردازیم.
ادامه دارد...
برای بیشتر یاد گرفتن اینجا کلیک کن
هدف پارت نهم
در این پارت، به بررسی گیتهای چندکیوبیتی و مفهوم درهمتنیدگی (Entanglement) میپردازیم که یکی از مهمترین ویژگیهای محاسبات کوانتومی است. درهمتنیدگی به ما این امکان را میدهد که با استفاده از گیتهای خاص، حالتهایی ایجاد کنیم که بین چند کیوبیت بهطور وابسته عمل میکنند.
گیت CNOT
یکی از مهمترین گیتهای دوکیوبیتی، گیت CNOT است که یک گیت کنترلی است. این گیت به این شکل عمل میکند:
- اگر کیوبیت کنترلی برابر با 0 باشد، کیوبیت هدف تغییر نمیکند.
- اگر کیوبیت کنترلی برابر با 1 باشد، کیوبیت هدف NOT میشود (حالتش برعکس میشود).
به زبان ساده:
CNOT |00⟩ = |00⟩
CNOT |01⟩ = |01⟩
CNOT |10⟩ = |11⟩
CNOT |11⟩ = |10⟩
ایجاد درهمتنیدگی با گیت CNOT و H
حالا میخواهیم با استفاده از گیت هادامارد (H) و گیت CNOT یک حالت درهمتنیده ایجاد کنیم. حالت درهمتنیده معروف Bell به شکل زیر ساخته میشود:
1. ابتدا هر دو کیوبیت در حالت اولیه |0⟩ هستند.
2. یک گیت هادامارد روی کیوبیت اول اعمال میکنیم:
|ψ⟩ = H|0⟩ = 1/√2 * (|0⟩ + |1⟩)
3. سپس یک گیت CNOT روی هر دو کیوبیت اعمال میکنیم که کیوبیت اول بهعنوان کنترلی عمل میکند:
|ψ⟩ = 1/√2 * (|00⟩ + |11⟩)
این حالت درهمتنیدگی کامل دو کیوبیت را نشان میدهد، به این معنی که اگر یکی از کیوبیتها را اندازهگیری کنیم، کیوبیت دیگر نیز بهطور آنی وضعیت متناظر را خواهد داشت.
مثال پیادهسازی در Qiskit
در اینجا، یک مدار ساده برای ایجاد حالت Bell را پیادهسازی میکنیم:
from qiskit import QuantumCircuit, Aer, execute
# ایجاد یک مدار کوانتومی با 2 کیوبیت و 2 کلاسیک
qc = QuantumCircuit(2, 2)
# اعمال گیت هادامارد روی کیوبیت 0
qc.h(0)
# اعمال گیت CNOT با کیوبیت 0 بهعنوان کنترل و کیوبیت 1 بهعنوان هدف
qc.cx(0, 1)
# اندازهگیری کیوبیتها
qc.measure([0, 1], [0, 1])
# اجرای مدار روی شبیهساز
backend = Aer.get_backend('qasm_simulator')
result = execute(qc, backend, shots=1000).result()
# نمایش نتیجه
counts = result.get_counts()
print("نتایج اندازهگیری:", counts)
توضیح کد
1. ایجاد مدار:
مدار شامل دو کیوبیت و دو بیت کلاسیک است که برای ذخیره نتایج اندازهگیری استفاده میشوند.
2. اعمال گیت هادامارد:
گیت هادامارد روی کیوبیت 0 اعمال شده و آن را در حالت سوپریپوزیشن قرار میدهد.
3. اعمال گیت CNOT:
این گیت کیوبیت 1 را با توجه به وضعیت کیوبیت 0 تغییر میدهد و حالت درهمتنیده ایجاد میکند.
4. اندازهگیری:
کیوبیتها اندازهگیری شده و نتایج آنها در بیتهای کلاسیک ذخیره میشود.
5. نمایش نتیجه:
نتیجه شامل مقادیر اندازهگیریشده خواهد بود که بهطور معمول شامل حالتهای 00 و 11 است.
نتیجه اجرای کد
خروجی ممکن است به شکل زیر باشد:
نتایج اندازهگیری: {'00': 512, '11': 488}
این خروجی نشان میدهد که مدار کوانتومی بهدرستی حالت Bell را ایجاد کرده است.
تمرین برای شما:
1. مدار را بهگونهای تغییر دهید که به جای ایجاد حالت |00⟩ + |11⟩، حالت |01⟩ + |10⟩ ایجاد کند.
2. توضیح دهید که چگونه درهمتنیدگی در الگوریتمهای کوانتومی مانند الگوریتم شُر و الگوریتم گروور استفاده میشود.
پارت بعدی:
در پارت ۱۰، به بررسی تحلیل فوریه کوانتومی (QFT) و کاربرد آن در الگوریتمهای کوانتومی میپردازیم.
ادامه دارد...
برای بیشتر یاد گرفتن اینجا کلیک کن
❤4👍1
This media is not supported in your browser
VIEW IN TELEGRAM
کاربران ویندوز ۱۱ نگاه کنن😳
💻میدونستی میتونی توی ویندوز ۱۱ چندین
دسکتاپ داشته باشی؟؟🖥
کانال رو دنبال داشته باشید❤️
💻میدونستی میتونی توی ویندوز ۱۱ چندین
دسکتاپ داشته باشی؟؟🖥
کانال رو دنبال داشته باشید❤️
🔥4👍1
import os
import sys
def get_hidden_password(prompt="Enter your password: "):
password = ""
sys.stdout.write(prompt)
sys.stdout.flush()
while True:
char = sys.stdin.read(1)
if char == "\n":
break
elif char == "\b":
password = password[:-1]
else:
password += char
sys.stdout.write("*")
sys.stdout.flush()
return password
def main():
correct_password = "Amir_123_ka"
while True:
user_password = get_hidden_password()
if user_password == correct_password:
print("\nWelcome!")
break
else:
print("\nIncorrect password, please try again.")
if name == "main":
main()
برنامه پسورد با پایتون
🔥5
در حال ساخت برنامه paint
امید بدید😅❤️
امید بدید😅❤️
❤6👍1
و تمامممممممممممم
😁4
هر کس میتونه مثل برنامه من درست کنه و توی پیوی با کداش بفرسته
@Amir_123_ka
@Amir_123_ka
اگر میخواید یکم دوستاتون رو اذیت کنید کافیه کد زیر رو در قالب برنامه ویندوزی با Tkinter در بیارید😁:
(صفحه نمایش رو هر 1 ثانیه میچرخونه)
از کتابخانه time و rotatescreen استفاده شده که برای دومی نیازه از طریق pip نصب کنید:
```
display = rs.get_primary_display()
display.rotate_to(x)
صفحه نمایش رو به زاویه x درجه میچرخونه که x بر اساس اون پیمایشی که از طریق حلقه for بر روی لیست داره هستش و time.sleep(1) هر 1ثانیه اجرا میشه😁
(صفحه نمایش رو هر 1 ثانیه میچرخونه)
import time
import rotatescreen
import rotatescreen as rs
display = rs.get_primary_display()
listOfAngels = [90,180,270,0]
while True:
for x in listOfAngels:
display.rotate_to(x)
time.sleep(1)
از کتابخانه time و rotatescreen استفاده شده که برای دومی نیازه از طریق pip نصب کنید:
pip install rotate-screen
```
display = rs.get_primary_display()
کارش اینه میاد صفحه نمایش رو ایجاد میکنه
و بعد در listOfAngels زوایا مشخص شده که اولین مورد: 90 درجه عمودی،180 چرخش معکوس،،270درجه عمودی در سمت چپ و 0 در حالت افقی اولیه
یه حلقه while تعریف شده و تا زمانی که شرطش برقرار هست حلقه for داخلش بی نهایت تکرار میشه
display.rotate_to(x)
`
صفحه نمایش رو به زاویه x درجه میچرخونه که x بر اساس اون پیمایشی که از طریق حلقه for بر روی لیست داره هستش و time.sleep(1) هر 1ثانیه اجرا میشه😁
❤6
This media is not supported in your browser
VIEW IN TELEGRAM
🔹۶ نکته ی مهم برای برنامه نویس های پایتون 🔹
❤5
📌 - چرا پایتون؟
1⃣ - پایتون، بهترین انتخاب برای شروع برنامه نویسی
2⃣ - با پایتون با یک کد کوتاه و ساده، کارهای بزرگی می توان انجام داد و این یعنی پیشرفت هرچه زودتر!
3⃣ - جامعه بزرگ برنامه نویس های پایتون یکی از نقاط قوت این زبان محسوب میشه و این یعنی این زبان داره روز به روز پیشرفت میکنه!
4⃣ - سرعت بالای پردازش اطلاعات در پایتون به این معنیه که ما با یک زبان قدرتمند روبرو هستیم.
5⃣ - پایتون یک زبان برنامه نویسی برای کار در زمینه های مختلفه. به قول معروف، پایتون برای همه چیز! به طور مثال :
دیتا ساینس، ماشین لرنینگ، پردازش تصویر، هوش مصنوعی، توسعه وب، هک و امنیت و...
6⃣ - پایتون شامل تعداد بسیاری از کتابخانه های قوی برای کاربرد های مختلفه و این یعنی برنامه نویسی ساده و موثر
https://t.iss.one/programming_languages390
کانال مارو دنبال کنید و سنجاق کنید داشته باشید😉❤️
1⃣ - پایتون، بهترین انتخاب برای شروع برنامه نویسی
2⃣ - با پایتون با یک کد کوتاه و ساده، کارهای بزرگی می توان انجام داد و این یعنی پیشرفت هرچه زودتر!
3⃣ - جامعه بزرگ برنامه نویس های پایتون یکی از نقاط قوت این زبان محسوب میشه و این یعنی این زبان داره روز به روز پیشرفت میکنه!
4⃣ - سرعت بالای پردازش اطلاعات در پایتون به این معنیه که ما با یک زبان قدرتمند روبرو هستیم.
5⃣ - پایتون یک زبان برنامه نویسی برای کار در زمینه های مختلفه. به قول معروف، پایتون برای همه چیز! به طور مثال :
دیتا ساینس، ماشین لرنینگ، پردازش تصویر، هوش مصنوعی، توسعه وب، هک و امنیت و...
6⃣ - پایتون شامل تعداد بسیاری از کتابخانه های قوی برای کاربرد های مختلفه و این یعنی برنامه نویسی ساده و موثر
https://t.iss.one/programming_languages390
کانال مارو دنبال کنید و سنجاق کنید داشته باشید😉❤️
❤4👍1