Quantum Programming
1.57K subscribers
357 photos
36 videos
47 files
515 links
هدف از ایجاد این کانال معرفی و آموزش محاسبات کوانتومی و برنامه‌نویسی کوانتومی هست.

Group:@quantumprogramming_chat
Instagram: http://instagram.com/Quantum.Programming
Download Telegram
در محاسبات کوانتومی برای نمایش هندسی یک کیوبیت از کره بلاخ استفاده می‌کنیم. سطح کره بلوخ یک فضای دو بعدی است و دارای دو درجه آزادی است.

سطح کره برای نمایش فضای حالت‌های خالص کیوبیتی بکار می رود. حالت‌های آمیخته در داخل کره قرار می‌گیرند. اگر نمایش یک کیوبیت را در فضایی با پایه‌های <0| و <1| بیان کنیم، باتوجه به اینکه بردار حالت کیوبیت باید بهنجار باشد نمایش کلی کیوبیت در کره بلوخ بدست می‌آید(تصویر را ببینید)
#کره_بلاخ
#محاسبات_کوانتومی
#فناوری_کوانتومی
#برنامه_‌نویسی_کوانتومی
#بخش3
🆔 @QuantumProgramming
🆔 http://instagram.com/Quantum.Programming
در بخش‌های قبلی اشاره شد که کامپیوترهای کوانتومی از ویژگی‌های منحصربفرد مکانیک کوانتوم همچون برهم‌نهی و درهم‌تنیدگی برای انجام محاسبات استفاده می‌کنند. در تعریف کیوبیت دیدیم که برهم‌نهی ظاهر شد یعنی همزمان حالت‌های <0| و <1| باهم وجود دارند. اکنون به بیان درهم‌تنیدگی بپردازیم:

درهم تنیدگی برای چندین سال برای فیزیکدانان تقریباً از همان تولد مکانیک کوانتومی معما شد. در سال 1924، هایزنبرگ نخستین فرمول ریاضی منسجمی برای نظریه ی کوانتوم مطرح کرد. در 1927 او نشان داد که مکملی بین مفهوم کلاسیکی در مکانیک کوانتوم وجود دارد، وآن غیر ممکن بودن اندازه گیری هر دوی موقعیت و اندازه حرکت یک ذره بود (اصل عدم قطعیت). بالعکس، موقعیت و اندازه حرکت یک ذره کلاسیکی را می توان اندازه گیری کرد. بنابراین هایزنبرگ پنداشت که بین جهان های کوانتومی و کلاسیکی تعدادی نقاط جدایی وجود دارد. او همچنین به نوعی نشان داد که در مکانیک کوانتومی براساس اصل عدم قطعیت نمی توان در مورد پدیده ها با قطعیت کامل اظهار نظر کرد و نتیجه اندازه گیری ها و آزمایش های مختلف به وسیله نظریه احتمال تعبیر می شود و این اصل عدم قطعیت هایزنبرگ، خاصیت بنیادین و گریز ناپذیر جهان است.
البته این تفاسیر به مذاق عده‌ای همچون انیشتین ، پودولسکی و روزن خوش نیامد. آنها با پارادوکس EPR در تلاش بودند که ناکامل بودن تئوری مکانیک کوانتوم را نشان دهند. آنها با این پارادوکس نشان دادند که یک فقدان کلی در مکانیک کوانتوم احساس می شود، بدین معنی که چیزهایی خارج از جهان واقعی وجود دارد که فرمالیسم کوانتوم در تشریح آن عاجز است و این خبر بدی برای مکانیک کوانتومی است. البته این پارادوکس بارها نقض شد و کوانتوم برقرار.

در هم تنیدگی یک پدیده کوانتومی است، که توسط مکانیک کوانتومی قابل توصیف است. این پدیده در ذراتی مانند الکترون و فوتون ها… اتفاق می افتد، و عبارت است از این که خواص مکانیکی دو ذره جفت شده باشند یا به عبارتی این ذرات پیشتر با هم در اندرکنش بوده و سپس از هم دیگر جدا شدند. این اندرکنش فیزیکی مربوط به خواصی نظیر مکان، تکانه و اسپین و غیره می باشد، به گونه ای که با تعیین هر کدام از خواص برای یکی از ذرات همان خاصیت در دیگری تعیین می شود. به زبان ساده اگر دو ذره درهم‌تنیده باشند با اندازه گیری روی ذره اول می‌توان اطلاعاتی از ذره دوم بدست آورد. یک مثال عامیانه از درهم‌تنیدگی را می‌توان اینگونه بیان کرد

تصور کنید دوست شما دو نوشابه در بسته‌بندی مشابه به شما می‌دهد. از آنجایی که رنگ نوشابه یا سیاه است یا نارنجی به محض آنکه شما نوشابه اول را باز کنید از رنگ نوشابه دوم خبردار خواهید شد

#درهم_تنیدگی
#محاسبات_کوانتومی
#برنامه_‌نویسی_کوانتومی
#بخش4
🆔 @QuantumProgramming
🆔 http://instagram.com/Quantum.Programming
حالت‌های چندکیوبیتی

برای انجام محاسبات عام(جهانشمول) لازم است تعداد کافی کیوبیت‌ها در اختیار باشد یعنی حالت‌های چندکیوبتی باید درنظر گرفته شود.
ابزار ریاضی برای بیان چنین حالت‌هایی ضرب تانسوری است. برای حالت دوکیوبیتی مسئله را بیان می‌کنیم: ضرب تانسوری دو فضای برداری (فضای هیلبرت) را بهم مربوط می‌کند، یعنی فضا گسترده می‌شود. این فضای جدید نیز یک فضای برداری است. برای انجام ضرب تانسوری عناصر حالت کیوبیت اول در تمام عناصر حالت کیوبیت دوم ضرب می‌شود.

در حالت کلی ضرب تاسوری دارای خاصیت شرکت‌پذیری هست اما خاصیت جابجایی ندارد(تصویر پایین را ببینید)

#چند_کیوبیتی
#ضرب_تانسوری
#محاسبات_کوانتومی
#برنامه_‌نویسی_کوانتومی
#بخش5

🆔 @QuantumProgramming
🆔 http://instagram.com/Quantum.Programming
گیت‌های کوانتومی
هر عملی که رو کیوبیت انجام می‌گیرد باید یک عمل یکانی باشد. دلیل این امر ناشی از این است که باید عملیات برگشت‌پذیر باشد. در حالت کلی عملگرهایی یکانی که روی که رو کیوبیت‌ها اثر می کنند را گیت‌های کوانتومی می‌گوییم. گیت‌ها در محاسبات کوانتومی و مدارهای کوانتومی بکار می‌روند. گیت‌ها اجزای سازنده مدارهای کوانتومی هستند مشابه آنچه که در مورد مدارهای کلاسیکی داریم. گیت را با ماتریس نمایش می‌دهیم. تعداد کیوبیت‌های ورودی و خروجی یک دروازهٔ کوانتومی باید برابر باشد. گیت کوانتومی هرگاه روی یک کیوبیت اثر کند آن را گیت تک کیوبیتی می‌گوییم و اگر روی چند کیوبیت اثر کند آنرا گیت چندکیوبیتی می‌نامیم.

تمام گیت‌های تک کیوبیتی را با ماتریس‌های دو در دو نمایش می‌دهیم. فضای چنین ماتریس‌هایی با ماتریس‌های پاولی جاروب می‌شود. از ماتریس هاي پاولی براي انجام دوران حول محورهاي مختصاتی نیز استفاده میشود زیرا که عمل هاي دورانی نیز به عنوان گیت هاي یکانی در نظر گرفته میشوند. از معروف‌ترین گیت‌های تک کیوبیتی می‌توان به هادامارد، X، Y، Z و گیت‌های دورانی اشاره کرد.

برای گیت‌های چند کیوبیتی معمولا از گیت‌های دوکیوبیتی نام برده می‌شود که روی دو کیوبیت اثر می‌کند که کنترل نات( CNOT)معروفترین آنهاست. اثر این گیت به این صورت است که اگر کیوبیت کنترل در حالت یک باشد کیوبیت هدف نات(NOT) می‌شود. (فرم ماتریسی و اثر گیت‌ها را در تصویر زیر ببینید)

#گیت_کوانتومی
#گیت_تک_کیوبیتی
#گیت_چند_کیوبیتی
#برنامه_‌نویسی_کوانتومی
#بخش6
🆔 @QuantumProgramming
🆔 http://instagram.com/Quantum.Programming
📚🔬بررسی و تحلیل سوالات کوانتوم کنکور ارشد در سالهای اخیر
مختص دانشجویان فیزیک و فوتونیک

مدرس: دکتر حسین داودی یگانه
دکتری محاسبات و اطلاعات کوانتومی
زمان شروع کلاسها: 21 اردیبهشت 1400
💰هزینه ثبت نام دوره: 400 هزار تومان
🖥 جلسات به صورت مجازی در اسکای روم برگزار خواهد شد.

🖋برای ثبت نام با آیدی زیر در ارتباط باشید:
@FARZANE_MHJR


لطفا به دوستان خود اطلاع دهید.
#کوانتوم
#کنکور
#ارشد
#کنکور_ارشد


🆔 @QuantumProgramming
🆔 http://instagram.com/Quantum.Programming
در نظریه محاسبات کوانتومی، مدار کوانتومی یک مدل برای انجام محاسبات کوانتومی هست. در مدار کوانتومی با اعمال گیت‌های کوانتومی رو کیوبیت فرآیند محاسبات انجام می‌شود. اجزای مدار کوانتومی بصورت شماتیک نشان داده می‌شوند. در یک مدار گیت‌ها را با شکل مربع نشان می‌دهیم و کیوبیت‌ها بصورت افقی بیان می‌شوند و خطوط افقی نقش سیم‌کوانتومی را بازی می‌کنند. مدارهای کوانتومی را از چپ به راست می‌خوانیم. در تصویر شکل1 مدار کوانتومی اعمال گیت هادامارد ، شکل 2 تاثیر گیت X ‌‌ بر کیوبیت شکل 3 تاثیر گیت CNOT را نشان می‌دهد.
#مدار_کوانتومی
#محاسبات_کوانتومی
#برنامه_‌نویسی_کوانتومی
#بخش7
🆔 @QuantumProgramming
🆔 http://instagram.com/Quantum.Programming
الگوریتم کوانتومی
الگوریتم کوانتومی در ساده ترین شکل آن به مجموعه اي از گیت هاي کوانتومی متوالی گفته می شود که روي یک حالت معین اولیه اثر می کنند و چنان تنظیم شده اند که حالت نهایی چنان باشد که پس از اندازه گیري هاي سنجیده اي روي آن جواب یک مسئله معین را با احتمال بسیار خوب در بر داشته باشد. الگوریتم کوانتومی بر روی یک کامپیوتر کوانتومی اجرا می‌شود. در بخش‌های قبلی اشاره شد که مدل محاسبات گیت‌پایه پر استفاده‌ترین برای محاسبات کوانتومی و کامپیوتر کوانتومی است.

الگوریتم کلاسیک روشی است که هر مرحلهٔ ان بر روی کامپیوترهای کلاسیک قابل اجرا باشد و در مقابل ان الگوریتم کوانتومی روشی است که هر مرحلهٔ ان بر روی کامپیوترهای کوانتومی قابل اجرا باشد. مسئله‌های غیرقابل حل با الگوریتم‌های کلاسیک همچنان با الگوریتم کوانتومی غیرقابل حل است. اما مزیت الگوریتم کوانتومی این است که مسئله‌های قابل حل با زمان کمتری حل می‌شوند، دلیل این امر استفاده ویژگی‌های کوانتومی نظیر برهم‌نهی و درهم‌تنیدگی در الگوریتم‌های کوانتومی است. معروف‌ترین الگوریتم‌های کوانتومی الگوریتم شور برای تجزیه به عوامل اول و الگوریتم گرور برای جستجو در یک پایگاه داده نامرتب است. الگوریتم شور به صورت نمایی از بهترین الگوریتم کلاسیکی که تجزیه به عامل اول را انجام می‌دهد بهتر عمل می‌کند و همین‌طور الگوریتم گرور به اندازهٔ رادیکال زمان بهترین الگوریتم کلاسیک با عملکرد مشابه زمان می‌گیرد. در بخش‌های بعدی تعدادی از الگوریتم‌های کوانتومی معرفی خواهد شد. در تصویر زیر سیرتاریخی الگوریتم‌های کوانتومی بیان شده است.

#الگوریتم_کوانتومی
#محاسبات_کوانتومی
#برنامه_‌نویسی_کوانتومی
#بخش8
🆔 @QuantumProgramming
🆔 http://instagram.com/Quantum.Programming
در بخش قبلی اشاره شد که الگوریتم شور از معروفترین و کارآمدترین الگوریتم‌های کوانتومی هست در این بخش به توضیح آن می‌پردازیم

مسئله فاکتورگیری،عبارت از یافتن عامل های صحیح اول مثبت مرکب وفرد N است. تاکنون هیچ الگوریتم کلاسیکی یافت نشده است که بتواند این کار را درزمان چندجمله‌ای انجام دهد به همین جهت از این مسئله برای ساختن الگوریتم‌های رمزنگاری کلاسیکی همچون RSA استفاده می‌شود.

الگوریتم شور با بکارگیری ویژگی‌های کوانتومی همچون درهم‌تنیدگی و برهم‌نهی و استفاده از تبدیل فوریه کوانتومی و تخمین فاز کوانتومی در زمان چندجمله‌ای عمل فاکتورگیری را انجام می‌دهد. این الگوریتم کاربردهای زیادی در حوزه‌ی رمز نگاری دارد و از این رو بسیار مورد توجه است.

اکنون به توضیح الگوریتم ‌می‌پردازیم: هر عدد صحیح مثبت را می‌توان بصورت یکتابه حاصلضرب عوامل اول تجزیه کرد، همچنین تشخیص اول یا مرکب بودن اعداد نیز در زمان چندجمله‌ای قابل انجام است. منظور از زمان چندجمله‌ای مدت زمان حل یک مسئله توسط کامپیوتر است که این زمان بصورت تابع چندجمله‌ای از اندازه ورودی است. حال اگر یک عدد مرکب فرد باشد، یافتن عوامل اول آن برای یک کامپیوتر کلاسیک در زمان چندجمله‌ای قابل انجام نیست. الگوریتم شور بر روی کامپیوتر کوانتومی قابل اجرا است و عوامل صحیح را در زمان چند جمله‌ای بیابد. در این الگوریتم از الگوریتم‌های کلاسیک کسرهای متوالی و اقلیدسی و الگوریتم‌های تبدیل فوریه کوانتومی و تخمین فاز استفاده می‌شود. در تصویر زیر مراحل این الگوریتم بیان شده است.
#الگوریتم_شور
#الگوریتم_کوانتومی
#برنامه_‌نویسی_کوانتومی
#بخش9
🆔 @QuantumProgramming
🆔 http://instagram.com/Quantum.Programming
با عرض سلام و احترام خدمت اعضای محترم کانال

جهت ارتباط بیشتر عزیزان باهم و به اشتراک گذاری ایده‌ها و سوالات در حوزه محاسبات کوانتومی و برنامه‌نویسی کوانتومی گروهی تشکیل شده است. اعضای محترم ‌می توانند با عضویت در گروه به طرح سوالات خود درباره مطالب کانال بپردازند.

لینک گروه: https://t.me/quantumprogramming_chat
لینک کانال: https://t.me/QuantumProgramming

با تجدید احترام
Quantum Programming pinned «با عرض سلام و احترام خدمت اعضای محترم کانال جهت ارتباط بیشتر عزیزان باهم و به اشتراک گذاری ایده‌ها و سوالات در حوزه محاسبات کوانتومی و برنامه‌نویسی کوانتومی گروهی تشکیل شده است. اعضای محترم ‌می توانند با عضویت در گروه به طرح سوالات خود درباره مطالب کانال…»
الگوریتم بعدی که معرفی خواهیم کرد الگوریتم دویچ است. هدف این الگوریتم جواب دادن به این پرسش است که یک تابع ثابت است یا متوازن. بدین منظور لازم است نحوه محاسبه تابع در محاسبات کوانتومی بیان شود. برای این کار از عملگریکانی استفاده می شود و همچنین لازم است تاثیر گیت هادامارد بر روی حالت‌های چندکیوبیتی در نظر گرفته شود. در تصویر نحوه محاسبه تابع بیان شده است.
#محاسبه_تابع
#الگوریتم_دویچ
#الگوریتم_کوانتومی
#برنامه_‌نویسی_کوانتومی
#بخش10

🆔 @QuantumProgramming
🆔 http://instagram.com/Quantum.Programming
در #بخش10 اشاره شد که الگوریتم دویچ برای تعیین نوع تابع بکار گرفته می‌شود. فرض کنیم تابع F با دامنه و برد {0،1} در اختیار باشد. ما علاقه‌مند هستیم تا بین مقادیر تابع رابطه‌ای پیدا کنیم یعنی (0)F با (1)F برابر هست یا نه؟ از دیدگاه محاسبات کلاسیکی تنها راه حل مسئله محاسبه برای هر دو مقدار صفر و یک و مقایسه آنها باهم است. اما الگوریتم کوانتومی دویچ تنها با یک بار محاسبه تابع پاسخ مسئله را می‌دهد. مراحل این الگوریتم در تصویر بیان شده است.
#الگوریتم_دویچ
#الگوریتم_کوانتومی
#برنامه_‌نویسی_کوانتومی
#بخش11

🆔 @QuantumProgramming
🆔 http://instagram.com/Quantum.Programming
در دهه گذشته سخت افزارهای کوانتومی در عملکرد بهینه کیوبیت ها، مدت زمان همدوسی و تعداد کیوبیت های بکار گرفته شده، پیشرفت های زیادی داشته اند. مدارهای کوانتومی با استفاده از کیوبیت های ابررسانا و یون های به دام افتاده ساخته شده اند. اگرچه محدودیت های بنیادی مهندسی اجازه بکارگیری زمان همدوسی دلخواه و یا تعداد کیوبیت دلخواه را نداده است اما در حال حاضر این مسائل هم از موضوعات روز در فناوری های کوانتومی هستند.
الگوریتم های کوانتومی با سرعت بسیار زیاد و زمان کم قادر به حل مسائلی هستند که الگوریتم های کلاسیکی از حل آنها عاجزند اما باید توجه داشت برای بکارگیری الگوریتم کوانتومی به صدها یا شاید هزارها کیوبیت احتیاج است. علاوه بر این، باید خطا هایی که در حین انجام الگوریتم به وقوع می پیوندد را نیز تصحیح کرد. به عنوان مثال، در بکارگیری الگوریتم شور برای حل یک مسئله که روی کامپیوتر کلاسیکی به سختی قابل حل است به شش میلیون کیوبیت احتیاج است در حالی که در حال حاضر فقط 50 کیوبیت در اختیار است.

برای رفع چنین مشکلاتی، در سال 2016 الگوریتم های ترکیبی کوانتومی- کلاسیکی (Hybrid Quantum Classical Algorithm) مطرح شد. در این الگوریتم ها، آماده سازی حالت اولیه سیستم کوانتومی و اندازه گیری های کوانتومی روی یک کامپیوتر کوانتومی انجام شده و قسمت بهینه سازی و به روز رسانی پارامترهای حالت کوانتومی در کامپیوتر کلاسیکی انجام می شود.

در این دسته از الگوریتم ها، حالت اولیه با توجه به مسئله ساخته می شود که یک حالت پارامتری است. بعد از این کار، حالت پارامتری به یک کامپیوتر کوانتومی فرستاده می شود و اندازه گیری کوانتومی انجام می گیرد. نتایج اندازه‌گیری که تابعی از پارامترهاست به یک کامپیوتر کلاسیکی فرستاده می شود. کامپیوتر کلاسیکی با انجام بهینه سازی روی تابع، یک سری پارامتر جدید بازتولید می کند. این پارامترها به کامپیوتر کوانتومی بازگردانده شده و حلقه تا یافتن پارامتر بهینه تکرار می شود. (بخش اول الگوریتم ترکیبی کوانتومی کلاسیکی)

#الگوریتم_ترکیبی_کوانتومی_کلاسیکی
#برنامه_‌نویسی_کوانتومی
#بخش12

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