Quantum Programming
1.5K subscribers
343 photos
35 videos
47 files
473 links
هدف از ایجاد این کانال معرفی و آموزش محاسبات کوانتومی و برنامه‌نویسی کوانتومی هست.

Group:@quantumprogramming_chat
Instagram: http://instagram.com/Quantum.Programming
Download Telegram
کتابخانه Cirq

در ادامه معرفی برنامه نویسی کوانتومی به بررسی کتابخانه قدرتمند شرکت گوگل می پردازیم.
Cirq یک کتابخانه ی برنامه نویسی کوانتومی و منبع باز توسعه محاسبات کوانتومی گوگل در بستر پایتون میباشد. تمرکز اصلی این کتابخانه بر پشتیبانی از سخت افزار کوانتومی near-term می باشد. این کتابخانه با هدف ایجاد، گردآوردی ، ویرایش ، استناد و اجرای مدارهای کوانتومی نویز دار مقیاس متوسط طراحی شده است.

در واقع هدف اولیه ی Cirq این است که بتوان برنامه های کوانتومی را که قابلیت اجرا شدن در کامپیوترهای کوانتومی کنونی و درآینده ی نزدیک را بدون تصحیح خطا دارند، توسعه داد.
اولین نسخه از این کتابخانه در تاریخ ۱۷ آوریل سال ۲۰۱۸ منتشر شد و از آن زمان تا کنون جمعا ۱۷ نسخه از این کتابخانه منتشر شده است.

کتابخانه ی Cirq بر روی هر سه سیستم عامل ویندوز، لینوکس و مکینتاش در دسترس و قابل نصب هست و از نسخه پایتون 3 پشتیبانی می کند. این کتابخانه توسعه دهنده را قادر به ساختن و اجرای مدارهای کوانتومی شامل تمام گیت های کوانتومی و عملیات کوانتومی می نماید.


#معرفی
#محاسبات_کوانتومی
#فناوری_کوانتومی
#برنامه_‌نویسی_کوانتومی
#گوگل
#cirq
#بخش50


🆔 @QuantumProgramming
🆔 http://instagram.com/Quantum.Programming
نصب و راه اندازی Cirq

نصب این کتابخانه بسیار ساده است. با استفاده از دستورات زیر به سادگی این کتابخانه در ویندوز نصب می شود.

استفاده از pip برای نصب cirq


python -m pip install --upgrade pip
python -m pip install cirq

برای اطمینان از نصب با اجرای دستور زیر باید تصویر فوق نشان داده شود.

python -c 'import cirq; print(cirq.google.Foxtail)'

#محاسبات_کوانتومی
#فناوری_کوانتومی
#برنامه_‌نویسی_کوانتومی
#گوگل
#cirq
#بخش51

🆔@QuantumProgramming
🆔 http://instagram.com/Quantum.Programming
نحوه تعریف کیوبیت در cirq

کیوبیت ها به عنوان پایه های محاسبات کوانتومی در تمام برنامه نویسی های کوانتومی نقش اساسی دارند. در کتابخانه cirq می توان به سه صورت کیوبیت ها را تعریف کرد.
نکته مهم این است که نتیجه محاسبات در هر سه صورت یکسان هست و تنها در تعریف تفاوت داریم.

مطابق آنچه که در کد نشان داده شده است نحوه تعریف کیوبیت ها بیان شده است، تنها تفاوت در توپولوژی سیستم شبیه ساز هست که کیوبیت ها Grid بدین منظور تعریف شده است. برای مثال اگر علاقه مند باشیم اندرکنش بین کیوبیت های مشخص باشد ای تعریف کاربردی تر هست.

#محاسبات_کوانتومی
#فناوری_کوانتومی
#برنامه_‌نویسی_کوانتومی
#گوگل
#cirq
#بخش52

🆔 @QuantumProgramming
🆔 http://instagram.com/Quantum.Programming
تعریف گیت ها در cirq

بعد از تعریف کیوبیت ها، باید گیت ها تعریف شوند تا بتوان مدارهای کوانتومی را بکار گرفت. تمامی گیت های مرسوم تک کیوبیتی و دوکیوبیتی در cirq تعریف شده است.

علاوه بر این گیت ها، گیت های پارامتری و گیت هایی که از ماتریس های یکانی ساخته می شوند، نیز در این کتابخانه تعریف شده اند. لازم به ذکر هست می توانیم گیت دلخواه نیز ایجاد کنیم.


#محاسبات_کوانتومی
#فناوری_کوانتومی
#برنامه_‌نویسی_کوانتومی
#گوگل
#cirq
#بخش53

🆔@QuantumProgramming
🆔 http://instagram.com/Quantum.Programming
تعریف گیت جدید در cirq

تعریف گیت یک و دو کیوبیتی جدید به آسانی در cirq امکان پذیر هست. کافیست تعداد کیوبیت، نمایش ماتریسی و نام آن در یک کلاس پایتون تعریف شود. یک مثال از ایجاد گیت جدید تک کیوبیتی در تصویر نشان داده شده است.

#محاسبات_کوانتومی
#فناوری_کوانتومی
#برنامه_‌نویسی_کوانتومی
#گوگل
#cirq
#بخش54

🆔@QuantumProgramming
🆔http://instagram.com/Quantum.Programming
مدارهای کوانتومی در cirq

اکنون می توانیم مدارهای کوانتومی را تعریف کنیم. در این کتابخانه مدارها از مومنت تشکیل شده هست و هر مومنت شامل گیت و عملیات مشخصی هست. برای تعریف مدار کافیست کیوبیت ها و گیت ها تعریف شود و سپس با دستور Circuit مدار ساخته شود. در تصویر یک نمونه آورده شده است.


#محاسبات_کوانتومی
#فناوری_کوانتومی
#برنامه_‌نویسی_کوانتومی
#گوگل
#cirq
#بخش55

🆔 @QuantumProgramming
🆔http://instagram.com/Quantum.Programming
شبیه سازی در cirq

اکنون که می توانیم مدارهای کوانتومی را در cirq پیاده کنیم، نوبت آن است که آنها را شبیه سازی کنیم.
Cirq با یک شبیه ساز همراه است که با دستور (cirq.Simulator) فراخوانی می شود. این کتابخانه دارای یک شبیه ساز با قابلیت موازی سازی است که نیاز به پیش ترکیب با معماری سخت افزاری کوانتومی مطلوب گوگل داد. نتایج شبیه سازی بصورت کت نمایش داده می شود. توجه کنید اینجا حالت های خالص شبیه سازی می شود و برای شبیه سازی ماتریس چگالی نوع دیگری از شبیه ساز تعریف شده است که در ادامه بیان خواهد شد. یک مثال از شبیه سازی در تصویر آورده شده است.



#محاسبات_کوانتومی
#فناوری_کوانتومی
#برنامه_‌نویسی_کوانتومی
#گوگل
#cirq
#بخش56

🆔@QuantumProgramming
🆔http://instagram.com/Quantum.Programming
وقتی با کامپیوتر واقعی کار می کنیم نتایج شبیه سازی بصورت سمپلی از اندازه گیری خواهد بود و لازم است این سازوکار را بکار گیریم. در cirq با استفاده از دستور run این امکان فراهم شده است. توجه کنید وقتی از این دستور استفاده کنیم در مدار اندازه گیری وجود دارد.
در کد زیر مدار حالت بل و شبیه سازی آن با روش Simulator و run آورده شده است.

#محاسبات_کوانتومی
#فناوری_کوانتومی
#برنامه_‌نویسی_کوانتومی
#گوگل
#cirq
#بخش57

🆔@QuantumProgramming
🆔 http://instagram.com/Quantum.Programming
teleportation cirq.py
1.9 KB
اکنون که مقدمات پلتفرم Cirq بیان شده است می توان پروتکل ها،مدارها و الگوریتم های گوناگون را پیاده کرد. یکی از پروتکل های جالب تله پورتشین است که کد آن قرار داده شده است.

#محاسبات_کوانتومی
#فناوری_کوانتومی
#برنامه_‌نویسی_کوانتومی
#گوگل
#cirq
#بخش57

🆔@QuantumProgramming
🆔 http://instagram.com/Quantum.Programming