Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
quantum-kittens
GitHub Repository: quantum-kittens/platypus
Path: blob/main/translations/bn/ch-gates/proving-universality.ipynb
4073 views
Kernel: Python 3

সার্বজনীনতা প্রমাণ করা

1। ভূমিকা

কোন প্রদত্ত কম্পিউটার কি করতে পারে? সাধারণভাবে যা গণনাযোগ্য বলে গণ্য করা হয় তার সীমা কী? কম্পিউটার কী, বা কীভাবে এটি তৈরি করা যায় সে সম্পর্কে আমাদের ভাল ধারণা থাকার আগে এগুলি অ্যালান টুরিং দ্বারা মোকাবিলা করা প্রশ্ন ছিল।

আমাদের ক্লাসিক্যাল কম্পিউটার এবং বিশেষত আমাদের স্ট্যান্ডার্ড ডিজিটাল কম্পিউটারগুলির জন্য এই প্রশ্নটি জিজ্ঞাসা করার জন্য, আমাদের সমস্ত স্ক্রিন, স্পিকার এবং অভিনব ইনপুট ডিভাইসগুলি সরিয়ে ফেলতে হবে। আমরা যা রেখেছি তা হল একটি মেশিন যা ইনপুট বিট স্ট্রিংগুলিকে আউটপুট বিট স্ট্রিংগুলিতে রূপান্তর করে। যদি একটি ডিভাইস এই ধরনের কোনো রূপান্তর সম্পাদন করতে পারে, ইনপুটগুলির যেকোনো নির্বিচারে সেট গ্রহণ করে এবং সেগুলিকে সংশ্লিষ্ট আউটপুটগুলির একটি নির্বিচারে নির্বাচিত সেটে রূপান্তর করতে পারে, আমরা একে সর্বজনীন বলি।

কোয়ান্টাম কম্পিউটার একইভাবে ইনপুট স্টেট নেয় এবং আউটপুট স্টেটে রূপান্তর করে। তাই আমরা সার্বজনীনতাকে একইভাবে সংজ্ঞায়িত করতে সক্ষম হব। আরও সুনির্দিষ্ট হতে, এবং সর্বজনীনতা কখন অর্জন করা যায় এবং কখন করা যায় না তা প্রমাণ করতে সক্ষম হওয়ার জন্য, আমাদের কোয়ান্টাম গেটগুলির ম্যাট্রিক্স উপস্থাপনা ব্যবহার করা কার্যকর। তবে প্রথমে আমাদের কয়েকটি কৌশলের উপর ব্রাশ করতে হবে।

2. ম্যাট্রিক্সের সঙ্গে মজা

2.1 বাইরের পণ্য হিসাবে ম্যাট্রিক্স

পূর্ববর্তী বিভাগে আমরা অনেক অভ্যন্তরীণ পণ্য গণনা করেছি, যেমন 00=1\langle0|0\rangle =1। এগুলি একটি ব্রা এবং একটি কেট একত্রিত করে আমাদের একটি একক নম্বর দেয়৷ আমরা তাদের এমনভাবে একত্রিত করতে পারি যা আমাদের একটি ম্যাট্রিক্স দেয়, কেবল তাদের বিপরীত ক্রমে রেখে। এটিকে একটি বহিরাগত পণ্য বলা হয় এবং এটি স্ট্যান্ডার্ড ম্যাট্রিক্স গুন দ্বারা কাজ করে। উদাহরণ স্বরূপ

$$|0\rangle\langle0|= \begin{pmatrix} 1 \ 0 \end{pmatrix} \begin{pmatrix} 1 & 0 \end{pmatrix} = \begin{pmatrix} 1&0 \ 0&0 \end{pmatrix},\ |0\rangle\langle1| = \begin{pmatrix} 1 \ 0 \end{pmatrix} \begin{pmatrix} 0 & 1 \end{pmatrix} = \begin{pmatrix} 0&1 \ 0&0 \end{pmatrix},\ |1\rangle\langle0| = \begin{pmatrix} 0 \ 1 \end{pmatrix} \begin{pmatrix} 1 & 0 \end{pmatrix} = \begin{pmatrix} 0&0 \ 1&0 \end{pmatrix},\ |1\rangle\langle1| = \begin{pmatrix} 0 \ 1 \end{pmatrix} \begin{pmatrix} 0 & 1 \end{pmatrix} = \begin{pmatrix} 0&0 \ 0&1 \end{pmatrix}.\$$

এর মানে এই যে আমরা বাইরের পণ্যের পরিপ্রেক্ষিতে বিশুদ্ধভাবে যে কোনো ম্যাট্রিক্স লিখতে পারি। উপরের উদাহরণগুলিতে, আমরা চারটি ম্যাট্রিক্স তৈরি করেছি যা একটি একক-কিউবিট ম্যাট্রিক্সের প্রতিটি একক উপাদানকে কভার করে, তাই আমরা তাদের পরিপ্রেক্ষিতে অন্য কোনো একক-কুবিট ম্যাট্রিক্স লিখতে পারি।

M=(m0,0amp;m0,1 m1,0amp;m1,1)=m0,000+m0,101+m1,010+m1,111M= \begin{pmatrix} m_{0,0}& m_{0,1} \ m_{1,0}&m_{1,1} \end{pmatrix} = m_{0,0} |0\rangle\langle0|+ m_{0,1} |0\rangle\langle1|+ m_{1,0} |1\rangle\langle0|+ m_{1,1} |1\rangle\langle1|

এই সম্পত্তিটি যেকোন সংখ্যক qubits, nn এর জন্য ম্যাট্রিসেও প্রসারিত। আমরা কেবল সংশ্লিষ্ট nn-bit স্ট্রিংগুলির বাইরের পণ্যগুলি ব্যবহার করি।

2.2 একক এবং হারমিটিয়ান ম্যাট্রিক্স

হারমিটিয়ান কনজুগেট MM^\dagger একটি ম্যাট্রিক্স MM এর সংমিশ্রণ হল ট্রান্সপোজের সমন্বয় (নীচের বাম উপাদানটি উপরের ডানদিকে প্রতিস্থাপন করুন, এবং তাই) এবং প্রতিটি উপাদানের জটিল কনজুগেট। কোয়ান্টাম কম্পিউটিং-এর জন্য অত্যন্ত গুরুত্বপূর্ণ ম্যাট্রিসের দুটি পরিবারকে হারমিটিয়ান কনজুগেটের সাথে তাদের সম্পর্ক দ্বারা সংজ্ঞায়িত করা হয়। একটি হল একক ম্যাট্রিক্সের পরিবার, যার জন্য

UU=UU=1.U U^\dagger = U^\dagger U = 1.

এর মানে হল যে এককটির হারমিটিয়ান কনজুগেট হল এর বিপরীত: অন্য একক UU^\dagger যা UU এর প্রভাবগুলিকে পূর্বাবস্থায় ফিরিয়ে আনার ক্ষমতা সহ। কোয়ান্টাম কম্পিউটিং-এর সমস্ত গেট, পরিমাপ এবং রিসেট ক্রিয়াকলাপগুলি বাদ দিয়ে, একক ম্যাট্রিক্স দ্বারা প্রতিনিধিত্ব করা যেতে পারে।

ঐক্যের আরেকটি ফলাফল হল এটি দুটি স্বেচ্ছাচারী অবস্থার মধ্যে অভ্যন্তরীণ পণ্য সংরক্ষণ করে। বিশেষভাবে, দুটি স্টেট নিন ψ0\left| \psi_0 \right\rangle এবং ψ1\left| \psi_1 \right\rangle। এর ভিতরের পণ্য হল ψ0ψ1\left\langle \psi_0 | \psi_1 \right\rangle। যদি আমরা উভয়ের জন্য একই একক UU প্রয়োগ করি, তাহলে ফলাফলের রাজ্যগুলির অভ্যন্তরীণ গুণফল ঠিক একই হবে,

(ψ0U)(Uψ1)=ψ0UUψ1=ψ0ψ1.\left( \left\langle \psi_0 \right| U^\dagger \right) \left( U \left| \psi_1 \right\rangle \right) = \left\langle \psi_0 \right|U^\dagger U\left| \psi_1 \right\rangle = \left\langle \psi_0 | \psi_1 \right\rangle.

এই সম্পত্তি এই গেট সম্পর্কে চিন্তা করার একটি দরকারী উপায় আমাদের প্রদান করে. এর মানে হল যে কোন সেট স্টেটের জন্য ψj{ \left| \psi_j \right\rangle } যা আমাদের সিস্টেমের জন্য একটি অর্থনরমাল ভিত্তি প্রদান করে, ϕj=Uψj{ \left| \phi_j \right\rangle = U \left| \psi_j \right\rangle }ও একটি অর্থনর্মাল ভিত্তি হবে। এককটিকে তখন এই ঘাঁটির মধ্যে একটি ঘূর্ণন হিসাবে বিবেচনা করা যেতে পারে এবং সেই অনুযায়ী লেখা যেতে পারে

U=jϕjψj.U = \sum_j \left| \phi_j \right\rangle \left\langle \psi_j \right|.

এটি মূলত 'ট্রুথ টেবিল' এর কোয়ান্টাম সংস্করণ যা ক্লাসিক্যাল বুলিয়ান গেটের ক্রিয়া বর্ণনা করে।

ম্যাট্রিসের অন্যান্য গুরুত্বপূর্ণ পরিবার হল হার্মিটিয়ান ম্যাট্রিস। এগুলি সেইগুলি যা হার্মিটিয়ান কনজুগেট দ্বারা প্রভাবিত হয় না

H=H.H = H^\dagger.

ম্যাট্রিক্স XX, YY, ZZ এবং HH হল হারমিটিয়ান ম্যাট্রিক্সের উদাহরণ যা আপনি ইতিমধ্যে দেখেছেন (কাকতালীয়ভাবে, এগুলিও একক কারণ সেগুলি তাদের নিজস্ব বিপরীত)।

সমস্ত একক ম্যাট্রিক্স এবং হারমিটিয়ান ম্যাট্রিক্সের তির্যক হওয়ার বৈশিষ্ট্য রয়েছে। এর মানে হল যে তারা ফর্মে লেখা যেতে পারে

M=jλjhjhj,M = \sum_j \lambda_j |h_j\rangle\langle h_j|,

যেখানে λj\lambda_j হল ম্যাট্রিক্সের eigenvalues এবং hj|h_j\rangle হল সংশ্লিষ্ট eigenstates।

ইউনিটারিগুলির জন্য, এই তির্যক আকারে UU=1UU^\dagger=1 শর্তটি প্রয়োগ করা বোঝায় যে λjλj=1\lambda_j \lambda_j^* = 1। তাই eigenvalues সবসময় 1 মাত্রার জটিল সংখ্যা, এবং তাই কিছু বাস্তব মানের hjh_j এর জন্য eihje^{ih_j} প্রকাশ করা যেতে পারে। হারমিটিয়ান ম্যাট্রিক্সের জন্য শর্ত H=HH = H^\dagger বোঝায় λj=λj\lambda_j = \lambda_j^*, এবং তাই সমস্ত eigenvalues বাস্তব।

তাই এই দুই ধরনের ম্যাট্রিক্সের মধ্যে পার্থক্য রয়েছে যে একটিতে অবশ্যই eigenvalues এর জন্য বাস্তব সংখ্যা থাকতে হবে এবং অন্যটিতে বাস্তব সংখ্যার জটিল সূচক থাকতে হবে। এর মানে হল যে, প্রতিটি একক জন্য, আমরা একটি সংশ্লিষ্ট হারমিটিয়ান ম্যাট্রিক্সকে সংজ্ঞায়িত করতে পারি। এর জন্য আমরা কেবল একই eigenstates পুনরায় ব্যবহার করি, এবং সংশ্লিষ্ট eigenvalue হিসাবে প্রতিটি eihje^{ih_j} থেকে hjh_j ব্যবহার করি।

একইভাবে, প্রতিটি হারমিটিয়ান ম্যাট্রিক্সের জন্য একটি একক বিদ্যমান। আমরা কেবল একই eigenstates পুনঃব্যবহার করি, এবং eigenvalues eihje^{ih_j} তৈরি করতে hjh_j-এর ব্যাখ্যা করি। এই হিসাবে প্রকাশ করা যেতে পারে

U=eiHU = e^{iH}

এখানে আমরা একটি ম্যাট্রিক্সকে কীভাবে ব্যাখ্যা করতে হয় তার মানক সংজ্ঞা ব্যবহার করেছি, যেটিতে আমাদের প্রয়োজনীয় বৈশিষ্ট্যগুলি রয়েছে: eigenstates সংরক্ষণ করা এবং eigenvalues ব্যাখ্যা করা।

2.3 Pauli decomposition

আমরা উপরে দেখেছি, বাইরের পণ্যের পরিপ্রেক্ষিতে সম্পূর্ণরূপে ম্যাট্রিক্স লেখা সম্ভব।

M=(m0,0amp;m0,1 m1,0amp;m1,1)=m0,000+m0,101+m1,010+m1,111M= \begin{pmatrix} m_{0,0}&m_{0,1} \ m_{1,0}&m_{1,1} \end{pmatrix} = m_{0,0} |0\rangle\langle0|+ m_{0,1} |0\rangle\langle1|+ m_{1,0} |1\rangle\langle0|+ m_{1,1} |1\rangle\langle1|

এখন আমরা দেখব যে পাওলি অপারেটরদের পরিপ্রেক্ষিতে সেগুলি সম্পূর্ণরূপে লেখাও সম্ভব। এই জন্য, লক্ষনীয় জিনিস হল যে

ParseError: KaTeX parse error: Undefined control sequence: \0 at position 59: …atrix} 1&0 \̲0̲&1 \end{pma…

এটি দেখায় যে 00|0\rangle\langle0| এবং 11|1\rangle\langle1| পরিচয় ম্যাট্রিক্স এবং ZZ ব্যবহার করে প্রকাশ করা যেতে পারে। এখন, X0=1X|0\rangle = |1\rangle প্রপার্টি ব্যবহার করে আমরাও তৈরি করতে পারি

01=00X=12(1+Z) X=X+iY2, 10=X00=X 12(1+Z)=XiY2.|0\rangle\langle1| = |0\rangle\langle0|X = \frac{1}{2}(1+Z)~X = \frac{X+iY}{2},\ |1\rangle\langle0| = X|0\rangle\langle0| = X~\frac{1}{2}(1+Z) = \frac{X-iY}{2}.

যেহেতু আমাদের কাছে সমস্ত বাহ্যিক পণ্য রয়েছে, তাই আমরা এখন পাওলি ম্যাট্রিক্সের পরিপ্রেক্ষিতে ম্যাট্রিক্স লিখতে এটি ব্যবহার করতে পারি:

M=m0,0+m1,12 1 + m0,1+m1,02 X + im0,1m1,02 Y + m0,0m1,12 Z.M = \frac{m_{0,0}+m_{1,1}}{2}~1~+~\frac{m_{0,1}+m_{1,0}}{2}~X~+~i\frac{m_{0,1}-m_{1,0}}{2}~Y~+~\frac{m_{0,0}-m_{1,1}}{2}~Z.

এই উদাহরণটি একটি সাধারণ একক-কিউবিটের ম্যাট্রিক্সের জন্য ছিল, কিন্তু সংশ্লিষ্ট ফলাফলটি যেকোন সংখ্যক কিউবিটের জন্য ম্যাট্রিসের ক্ষেত্রেও সত্য। আমরা কেবল পর্যবেক্ষণ থেকে শুরু করি

(1+Z2)(1+Z2)(1+Z2)=000000,\left(\frac{1+Z}{2}\right)\otimes\left(\frac{1+Z}{2}\right)\otimes\ldots\otimes\left(\frac{1+Z}{2}\right) = |00\ldots0\rangle\langle00\ldots0|,

এবং তারপর উপরের মত একই পদ্ধতিতে এগিয়ে যেতে পারেন। শেষ পর্যন্ত এটি দেখানো যেতে পারে যে কোনো ম্যাট্রিক্সকে পাওলি ম্যাট্রিক্সের টেনসর পণ্যের পরিপ্রেক্ষিতে প্রকাশ করা যেতে পারে:

M=Pn1,,P01,X,Y,ZCPn1,P0  Pn1Pn2P0.M = \sum_{P_{n-1},\ldots,P_0 \in {1,X,Y,Z}} C_{P_{n-1}\ldots,P_0}~~P_{n-1} \otimes P_{n-2}\otimes\ldots\otimes P_0.

হারমিটিয়ান ম্যাট্রিক্সের জন্য, মনে রাখবেন যে সহগ CPn1,P0C_{P_{n-1}\ldots,P_0} এখানে সবই বাস্তব হবে।

3. সর্বজনীনতা সংজ্ঞায়িত করা

যেমন প্রতিটি কোয়ান্টাম গেট একটি ইউনিটারি দ্বারা প্রতিনিধিত্ব করা যেতে পারে, তেমনি আমরা একটি (খুব বড়) ইউনিটারি অপারেশন দ্বারা একটি সম্পূর্ণ কোয়ান্টাম গণনা বর্ণনা করতে পারি। এর প্রভাব হল ইনপুট স্টেটকে আউটপুট স্টেটে ঘোরানো।

এর একটি সম্ভাব্য বিশেষ ক্ষেত্রে ইনপুট এবং আউটপুট স্টেটগুলি কোয়ান্টাম আকারে প্রকাশ করা বিট স্ট্রিংগুলিকে বর্ণনা করে। প্রতিটি ইনপুট xx এর আউটপুট f(x)f(x) এর ম্যাপিং কিছু (উল্টানো যায়) ক্লাসিক্যাল গণনা দ্বারা বর্ণনা করা যেতে পারে। এই ধরনের যে কোন গণনা তাই একক হিসাবে প্রকাশ করা যেতে পারে।

U=jf(x)x.U = \sum_j \left| f(x) \right\rangle \left\langle x \right|.

আমরা যদি কোনো সম্ভাব্য একক বাস্তবায়ন করতে সক্ষম হই, তাহলে এর মানে দাঁড়াবে আমরা মানক ডিজিটাল কম্পিউটারের অর্থে সর্বজনীনতা অর্জন করতে পারব।

আরেকটি বিশেষ ঘটনা হল যে ইনপুট এবং আউটপুট অবস্থাগুলি একটি ভৌত সিস্টেমকে বর্ণনা করতে পারে এবং আমরা যে গণনা করি তা হল সেই সিস্টেমের গতিশীলতা অনুকরণ করা। এটি একটি গুরুত্বপূর্ণ সমস্যা যা ক্লাসিক্যাল কম্পিউটারের জন্য অব্যবহারিক, কিন্তু কোয়ান্টাম কম্পিউটারের একটি স্বাভাবিক প্রয়োগ। এই ক্ষেত্রে সিস্টেমের সময় বিবর্তন আমরা যে একক প্রয়োগ করি তার সাথে মিলে যায় এবং সংশ্লিষ্ট হারমিটিয়ান ম্যাট্রিক্স হল সিস্টেমের হ্যামিলটোনিয়ান। যেকোন একক অর্জন তাই যেকোন সময়ের বিবর্তনের অনুকরণ, এবং যেকোন হ্যামিল্টোনিয়ানের প্রভাব প্রকৌশলীকরণের সাথে সঙ্গতিপূর্ণ হবে।

এই অন্তর্দৃষ্টিগুলিকে একত্রিত করে আমরা কোয়ান্টাম কম্পিউটারের সর্বজনীন হওয়ার অর্থ কী তা নির্ধারণ করতে পারি। এটি কেবলমাত্র qubits-এর যেকোন নির্বিচারে সংখ্যায় যেকোন পছন্দসই একক অর্জন করার ক্ষমতা। যদি আমাদের কাছে এটি থাকে তবে আমরা জানি যে আমরা ডিজিটাল কম্পিউটার যা করতে পারে তা পুনরুত্পাদন করতে পারি, যেকোন কোয়ান্টাম সিস্টেমের অনুকরণ করতে পারি এবং একটি কোয়ান্টাম কম্পিউটারের জন্য যা কিছু সম্ভব তা করতে পারি।

4. বেসিক গেট সেট

বেসিক গেটগুলির একটি সেট থেকে আমরা কোনও ইউনিটারি তৈরি করতে পারি কিনা তা নির্ভর করে আমাদের কোন মৌলিক গেটগুলিতে অ্যাক্সেস রয়েছে তার উপর। ত্রুটি-সহনশীল কোয়ান্টাম কম্পিউটিং এর প্রতিটি সম্ভাব্য উপলব্ধির জন্য, কোয়ান্টাম অপারেশনগুলির একটি সেট রয়েছে যা উপলব্ধি করা সবচেয়ে সহজ। প্রায়শই এইগুলির মধ্যে একক- এবং দুই-কুবিট গেট থাকে, যার বেশিরভাগই তথাকথিত ক্লিফোর্ড গেটের সেটের সাথে মিলে যায়। এটি অপারেশনগুলির একটি অত্যন্ত গুরুত্বপূর্ণ সেট, যা যেকোন কোয়ান্টাম অ্যালগরিদমে প্রচুর ভারী-উত্তোলন করে।

4.1 ক্লিফোর্ড গেটস

ক্লিফোর্ড গেটস বোঝার জন্য, একটি উদাহরণ দিয়ে শুরু করা যাক যা আপনি ইতিমধ্যে অনেকবার দেখেছেন: হাদামার্ড।

H=+0 + 1=0+ + 1.H = |+\rangle\langle0|~+~ |-\rangle\langle1| = |0\rangle\langle+|~+~ |1\rangle\langle-|.

এই গেট উপরে বর্ণিত হিসাবে, বাইরের পণ্য ব্যবহার করে প্রকাশ করা হয়। যখন এই আকারে প্রকাশ করা হয়, তখন এর বিখ্যাত প্রভাব স্পষ্ট হয়ে ওঠে: এটি 0|0\rangle নেয় এবং এটিকে +|+\rangle এ ঘোরায়। আরও সাধারণভাবে, আমরা বলতে পারি যে এটি z পরিমাপের ভিত্তি অবস্থা, 0,1{ |0\rangle,|1\rangle }, x পরিমাপের ভিত্তি অবস্থাতে ঘোরে, +,{ |+\rangle,|-\rangle }, এবং তদ্বিপরীত।

এইভাবে, হাদামার্ডের প্রভাব হল একটি কিউবিটের চারপাশে তথ্য সরানো। এটি যেকোন তথ্য অদলবদল করে যা পূর্বে একটি x পরিমাপ দ্বারা অ্যাক্সেস করা হত যা az পরিমাপ দ্বারা অ্যাক্সেস করা হয়েছিল।

হাদামার্ডকে বিভিন্ন ক্রিয়াকলাপ সম্পাদন করতে অন্যান্য গেটের সাথে একত্রিত করা যেতে পারে, উদাহরণস্বরূপ:

HXH=Z, HZH=X.H X H = Z,\ H Z H = X.

একটি XX এর আগে এবং পরে একটি Hadamard করার মাধ্যমে, আমরা এটির পরিবর্তে z বেসিস স্টেটগুলিতে যে ক্রিয়াটি প্রয়োগ করা হয়েছিল তা x বেসিস স্টেটে স্থানান্তরিত করার কারণ করি৷ সম্মিলিত প্রভাব তখন ZZ-এর সমান। একইভাবে, আমরা Hadamards থেকে একটি XX এবং একটি ZZ তৈরি করতে পারি।

SS গেট এবং এর হারমিটিয়ান কনজুগেটের জন্য একই আচরণ দেখা যায়,

SXS=Y, SYS=X, SZS=Z.S X S^{\dagger} = Y,\ S Y S^{\dagger} = -X,\ S Z S^{\dagger} = Z.

এটি হাদামার্ডের অনুরূপ প্রভাব ফেলে, এটি XX এবং ZZ এর পরিবর্তে XX এবং YY অদলবদল করে। হাদামার্ডের সাথে একত্রে, আমরা তখন একটি যৌগিক গেট তৈরি করতে পারি যা y এবং z এর মধ্যে তথ্য স্থানান্তর করে।

পলিসকে অন্য পাউলিসে রূপান্তরিত করার এই বৈশিষ্ট্যটি হল ক্লিফোর্ড গেটের সংজ্ঞায়িত বৈশিষ্ট্য। একক-কুবিট ক্ষেত্রে স্পষ্টভাবে বলা হয়েছে: যদি UU একটি Clifford হয় এবং PP হয় একটি Pauli, UPUUPU^{\dagger}ও একটি Pauli হবে৷ হার্মিটিয়ান গেটের জন্য, হাদামার্ডের মতো, আমরা কেবল UPUUPU ব্যবহার করতে পারি।

একক-কুবিট ক্লিফোর্ড গেটগুলির আরও উদাহরণ হল পলিস নিজেই। এগুলি তারা যে পাওলিতে কাজ করে তা রূপান্তরিত করে না। পরিবর্তে, তারা কেবলমাত্র 1-1 এর একটি পর্যায় বরাদ্দ করে যে দুটির সাথে তারা এন্টি-কমিউট করে। উদাহরণ স্বরূপ,

ZXZ=X, ZYZ=Y, ZZZ=    Z.Z X Z = -X,\ Z Y Z = -Y,\ Z Z Z= ~~~~Z.

আপনি হয়তো লক্ষ্য করেছেন যে SS গেটের প্রভাবেও একই রকম একটি পর্যায় দেখা দিয়েছে। এটিকে একটি পাওলির সাথে একত্রিত করে, আমরা একটি যৌগিক গেট তৈরি করতে পারি যা এই ফেজটি বাতিল করবে এবং XX এবং YYকে হাদামার্ডের XX এবং ZZ এর অদলবদলের মতো আরও বেশি করে অদলবদল করতে পারব।

মাল্টিপল-কিউবিট ক্লিফোর্ড গেটগুলির জন্য, সংজ্ঞায়িত বৈশিষ্ট্য হল যে তারা পালিসের টেনসর পণ্যগুলিকে পালিসের অন্যান্য টেনসর পণ্যগুলিতে রূপান্তরিত করে। উদাহরণস্বরূপ, সবচেয়ে বিশিষ্ট দুই-কুবিট ক্লিফোর্ড গেট হল CNOT। আমরা এই অধ্যায়ে ব্যবহার করা হবে যে এই সম্পত্তি

CXj,k (X1) CXj,k=XX.{ CX}*{j,k}~ (X \otimes 1)~{ CX}*{j,k} = X \otimes X.

এটি কার্যকরভাবে একটি XX নিয়ন্ত্রণ কিউবিট থেকে লক্ষ্যে 'কপি' করে।

একটি ইউনিটারি এবং এর হারমিটিয়ান কনজুগেটের মধ্যে একটি ম্যাট্রিক্সকে স্যান্ডউইচ করার প্রক্রিয়াটিকে সেই ইউনিটারি দ্বারা সংযোজন বলে। এই প্রক্রিয়াটি ম্যাট্রিক্সের আইজেনস্টেটগুলিকে রূপান্তরিত করে, কিন্তু ইজেনভ্যালুগুলি অপরিবর্তিত রাখে। ক্লিফোর্ডস দ্বারা সংযোজন যে কারণে পাওলিসের মধ্যে রূপান্তরিত হতে পারে তা হল কারণ সমস্ত পাউলিস ইগেন ভ্যালুর একই সেট ভাগ করে।

4.2 নন-ক্লিফোর্ড গেটস

ক্লিফোর্ড গেটগুলি খুব গুরুত্বপূর্ণ, কিন্তু তারা নিজেরাই শক্তিশালী নয়। কোনো কোয়ান্টাম কম্পিউটেশন করার জন্য, আমাদের এমন গেট দরকার যা ক্লিফোর্ড নয়। তিনটি গুরুত্বপূর্ণ উদাহরণ হল কিউবিটের তিনটি অক্ষের চারপাশে নির্বিচারে ঘূর্ণন, Rx(θ)R_x(\theta), Ry(θ)R_y(\theta) এবং Rz(θ)R_z(\theta)

আসুন Rx(θ)R_x(\theta) এর উপর ফোকাস করি। আমরা উপরে যেমন দেখেছি, যে কোনো একককে হারমিটিয়ান ম্যাট্রিক্স ব্যবহার করে সূচকীয় আকারে প্রকাশ করা যেতে পারে। এই গেট জন্য, আমরা খুঁজে

Rx(θ)=eiθ2X.R_x(\theta) = e^{i \frac{\theta}{2} X}.

শেষ বিভাগটি আমাদের দেখিয়েছে যে একক এবং এর সংশ্লিষ্ট হারমিটিয়ান ম্যাট্রিক্সের একই আইজেনস্টেট রয়েছে। এই বিভাগে, আমরা দেখেছি যে একক দ্বারা সংযোজন ইজেনস্টেটকে রূপান্তরিত করে এবং ইজেন ভ্যালুকে অপরিবর্তিত রাখে। এটা মাথায় রেখে সেটা দেখানো যায়

URx(θ)U=eiθ2 UXU.U R_x(\theta)U^\dagger = e^{i \frac{\theta}{2} ~U X U^\dagger}.

একটি ক্লিফোর্ড দ্বারা এই ঘূর্ণন সংযোজন করে, আমরা তাই একে অন্য অক্ষের চারপাশে একই ঘূর্ণনে রূপান্তর করতে পারি। তাই Ry(θ)R_y(\theta) এবং Rz(θ)R_z(\theta) সম্পাদন করার সরাসরি উপায় না থাকলেও, আমরা Rx(θ)R_x(\theta) ক্লিফোর্ড গেটের সাথে মিলিত হয়ে এটি করতে পারি। ক্লিফোর্ড গেটের সাথে একত্রিত করে নন-ক্লিফোর্ড গেটগুলির শক্তি বাড়ানোর এই কৌশলটি আমরা কোয়ান্টাম কম্পিউটিংয়ে দুর্দান্ত ব্যবহার করি।

4.3 গেট সেট প্রসারিত করা

Rx(θ)R_x(\theta) কে ক্লিফোর্ডের সাথে একত্রিত করার আরেকটি উদাহরণ হিসাবে, আসুন এটিকে একটি CNOT এর সাথে সংযুক্ত করি।

CXj,k (Rx(θ)1) CXj,k=CXj,k eiθ2 (X1) CXj,k=eiθ2 CXj,k (X1) CXj,k=eiθ2 XXCX_{j,k} ~(R_x(\theta) \otimes 1)~ CX_{j,k} = CX_{j,k} ~ e^{i \frac{\theta}{2} ~ (X\otimes 1)}~ CX_{j,k} = e^{i \frac{\theta}{2} ~CX_{j,k} ~ (X\otimes 1)~ CX_{j,k}} = e^{i \frac{\theta}{2} ~ X\otimes X}

এটি আমাদের সহজ, একক-কুবিট ঘূর্ণনকে আরও শক্তিশালী দ্বি-কুবিট গেটে রূপান্তরিত করে। এটি উভয় কিউবিটে স্বাধীনভাবে একই ঘূর্ণন সম্পাদন করার সমতুল্য নয়। পরিবর্তে, এটি এমন একটি গেট যা বিঘ্নিত রাজ্যগুলি তৈরি করতে এবং পরিচালনা করতে সক্ষম।

আমাদের সেখানে থামার দরকার নেই। যেকোন সংখ্যক qubits-এ অপারেশন প্রসারিত করতে আমরা একই কৌশল ব্যবহার করতে পারি। নতুন qubits-এ XX কপি করা চালিয়ে যাওয়ার জন্য CNOT-এর দ্বারা আরও বেশি কনজুগেট করা দরকার।

তদ্ব্যতীত, আমরা বিভিন্ন কিউবিটগুলিতে পাওলি রূপান্তর করতে একক-কুবিট ক্লিফোর্ড ব্যবহার করতে পারি। উদাহরণস্বরূপ, আমাদের দুই-কুবিটের উদাহরণে আমরা XXকে YY-এ পরিণত করতে ডানদিকের qubit-এ SS দ্বারা সংযোজিত করতে পারি:

(IS) eiθ2 XX (IS)=eiθ2 XY.\left( I \otimes S \right) ~e^{i \frac{\theta}{2} ~ X\otimes X}~\left( I \otimes S^\dagger \right) = e^{i \frac{\theta}{2} ~ X\otimes Y}.

এই কৌশলগুলির সাহায্যে, আমরা জটিল জটিল ক্রিয়াকলাপগুলি করতে পারি যা ফর্মের যেকোন নির্বিচারে সংখ্যক কিউবিটের উপর কাজ করে।

U=eiθ2 Pn1Pn2...P0,   PjI,X,Y,Z.U = e^{i\frac{\theta}{2} ~ P_{n-1}\otimes P_{n-2}\otimes...\otimes P_0}, ~~~ P_j \in {I,X,Y,Z}.

এই সব দেখায় যে একক এবং দুই-কুবিট ক্লিফোর্ড গেটগুলিকে x অক্ষের চারপাশে ঘূর্ণনের সাথে একত্রিত করা আমাদের সম্ভাবনার একটি শক্তিশালী সেট দেয়। প্রদর্শন করার জন্য যা বাকি আছে তা হল আমরা যেকোন কিছু করতে তাদের ব্যবহার করতে পারি।

5. সার্বজনীনতা প্রমাণ করা

ক্লাসিক্যাল কম্পিউটারের জন্য, আমাদের এই বড় কাজটিকে পরিচালনাযোগ্য অংশে ভাগ করতে হবে। আমাদের গেটের একটি মৌলিক সেট খুঁজে বের করতে হবে যা আমাদের এটি অর্জন করতে দেবে। আমরা দেখতে পাব, শেষ বিভাগের একক- এবং দুই-কুবিট গেটগুলি টাস্কের জন্য যথেষ্ট।

ধরুন আমরা একক বাস্তবায়ন করতে চাই

U=ei(aX+bZ),U = e^{i(aX + bZ)},

কিন্তু আমাদের কাছে একমাত্র গেটগুলি হল Rx(θ)=eiθ2XR_x(\theta) = e^{i \frac{\theta}{2} X} এবং Rz(θ)=eiθ2ZR_z(\theta) = e^{i \frac{\theta}{2 } Z}। এই সমস্যা সমাধানের সর্বোত্তম উপায় হল অয়লার কোণ ব্যবহার করা। কিন্তু এর পরিবর্তে একটি ভিন্ন পদ্ধতি বিবেচনা করা যাক.

UU-এর সূচকের হারমিটিয়ান ম্যাট্রিক্স হল শুধুমাত্র Rx(θ)R_x(\theta) এবং Rz(θ)R_z(\theta) ঘূর্ণনের সমষ্টি। এটি আমাদের সমস্যা সমাধানের জন্য একটি সরল পদ্ধতির পরামর্শ দেয়: আমরা Rz(2b)=eibZR_z(2b) = e^{i bZ} এর পরে Rx(2a)=eiaXR_x(2a) = e^{ia X} প্রয়োগ করতে পারি। দুর্ভাগ্যবশত, যেহেতু আমরা যাতায়াত করে না এমন ম্যাট্রিক্সের ব্যাখ্যা করছি, এই পদ্ধতিটি কাজ করবে না।

eiaXeibZei(aX+bZ)e^{i a X} e^{i b Z} \neq e^{i(aX + bZ)}

যাইহোক, আমরা নিম্নলিখিত পরিবর্তিত সংস্করণ ব্যবহার করতে পারি:

U=limn (eiaX/neibZ/n)n.U = \lim_{n\rightarrow\infty} ~ \left(e^{iaX/n}e^{ibZ/n}\right)^n.

এখানে আমরা UU আপকে nn ছোট স্লাইসে বিভক্ত করেছি। প্রতিটি স্লাইসের জন্য, এটি বলা একটি ভাল আনুমানিক

eiaX/neibZ/n=ei(aX+bZ)/ne^{iaX/n}e^{ibZ/n} = e^{i(aX + bZ)/n}

এই আনুমানিক মাপকাঠিতে ত্রুটি 1/n21/n^2। যখন আমরা nn স্লাইসগুলিকে একত্রিত করি, তখন আমরা আমাদের লক্ষ্য এককটির একটি আনুমানিক ধারণা পাই যার ত্রুটি স্কেল 1/n1/n হিসাবে। তাই শুধু স্লাইস সংখ্যা বৃদ্ধি করে, আমরা যতটা প্রয়োজন UU এর কাছাকাছি যেতে পারি। ক্রম তৈরির অন্যান্য পদ্ধতিগুলিও আমাদের লক্ষ্য এককটির আরও সঠিক সংস্করণ পেতে পারে।

এই পদ্ধতির ক্ষমতা হল এটি শুধুমাত্র একটি একক কিউবিটের চেয়ে জটিল ক্ষেত্রে ব্যবহার করা যেতে পারে। উদাহরণস্বরূপ, একক বিবেচনা করুন

U=ei(aXXX+bZZZ).U = e^{i(aX\otimes X\otimes X + bZ\otimes Z\otimes Z)}.

আমরা জানি কিভাবে একক eiθ2XXXe^{i\frac{\theta}{2} X\otimes X\otimes X} একটি একক qubit Rx(θ)R_x(\theta) এবং দুটি নিয়ন্ত্রিত-NOT থেকে তৈরি করতে হয়।

qc.cx(0,2) qc.cx(0,1) qc.rx(theta,0) qc.cx(0,1) qc.cx(0,2)

কিছু Hadamards দিয়ে, আমরা eiθ2ZZZe^{i\frac{\theta}{2} Z\otimes Z\otimes Z}-এর জন্য একই কাজ করতে পারি।

qc.h(0) qc.h(1) qc.h(2) qc.cx(0,2) qc.cx(0,1) qc.rx(theta,0) qc.cx(0,1) qc.cx(0,2) qc.h(2) qc.h(1) qc.h(0)

এটি আমাদের নতুন, তিন-কিউবিটের UU এর একটি ছোট স্লাইস পুনরুত্পাদন করার ক্ষমতা দেয়:

eiaXXX/neibZZZ/n=ei(aXXX+bZZZ)/n.e^{iaX\otimes X\otimes X/n}e^{ibZ\otimes Z\otimes Z/n} = e^{i(aX\otimes X\otimes X + bZ\otimes Z\otimes Z)/n}.

আগের মতো, আমরা তারপরে UU এর নির্বিচারে সঠিক অনুমান পেতে স্লাইসগুলিকে একত্রিত করতে পারি।

এই পদ্ধতিটি কাজ করে চলেছে যখন আমরা qubits সংখ্যা বাড়াই, এবং সেই সাথে যে পদগুলির সংখ্যা সিমুলেট করতে হবে। আনুমানিক সঠিক রয়ে গেছে তা নিশ্চিত করার জন্য যত্ন নেওয়া আবশ্যক, তবে এটি এমনভাবে করা যেতে পারে যেগুলির জন্য যুক্তিসঙ্গত সংস্থানগুলির প্রয়োজন৷ অনুকরণের জন্য অতিরিক্ত পদ যোগ করা, বা পছন্দসই নির্ভুলতা বাড়ানোর জন্য শুধুমাত্র পদ্ধতির জটিলতা বহুপদী বৃদ্ধির প্রয়োজন।

এই ফর্মের পদ্ধতিগুলি যেকোন একক U=eiHU = e^{iH} পুনরুত্পাদন করতে পারে যার জন্য HH কে পলিসের টেনসর পণ্যের যোগফল হিসাবে প্রকাশ করা যেতে পারে। যেহেতু আমরা আগে দেখিয়েছি যে সমস্ত ম্যাট্রিক্স এইভাবে প্রকাশ করা যেতে পারে, তাই এটি দেখানোর জন্য যথেষ্ট যে আমরা সমস্ত একককে পুনরুত্পাদন করতে পারি। যদিও অন্যান্য পদ্ধতিগুলি অনুশীলনে আরও ভাল হতে পারে, তবে এই অধ্যায়টি থেকে সরে যাওয়ার মূল ধারণাটি হল যে কিস্কিট-এ পাওয়া শুধুমাত্র মৌলিক ক্রিয়াকলাপগুলি ব্যবহার করে সমস্ত মাল্টি-কুবিট ইউনিটারিগুলিকে পুনরুত্পাদন করার একটি উপায় অবশ্যই রয়েছে। কোয়ান্টাম সার্বজনীনতা অর্জন করা যায়!

এই গেট সেটটি একমাত্র নয় যা সর্বজনীনতা অর্জন করতে পারে। উদাহরণস্বরূপ এটি দেখানো যেতে পারে যে শুধু হাদামার্ড এবং টফোলি সার্বজনীনতার জন্য যথেষ্ট। একাধিক অন্যান্য গেট সেটও বিবেচনা করা হয়েছে এবং সর্বজনীন প্রমাণিত হয়েছে, প্রতিটি গেটগুলি ত্রুটি-সহনশীলভাবে অর্জনের দিকে বিভিন্ন রুট দ্বারা অনুপ্রাণিত।

এই বইয়ে আমরা যা আলোচনা করেছি তার সবকিছুই গণনার সার্কিট মডেল অনুসরণ করে। যাইহোক, সার্কিট মডেল কোয়ান্টাম গণনার একমাত্র সর্বজনীন মডেল নয়। কোয়ান্টাম কম্পিউটেশনের অন্যান্য রূপ যেমন অ্যাডিয়াব্যাটিক কোয়ান্টাম কম্পিউটিং বা পরিমাপ ভিত্তিক কোয়ান্টাম কম্পিউটিং বিদ্যমান। এগুলি সর্বজনীন হওয়ার অর্থ হল এটি প্রমাণিত হয়েছে যে সার্কিট মডেল থেকে গণনার এই অন্যান্য মডেলগুলিতে বহুপদী সময় এবং সংস্থানগুলির একটি ম্যাপিং রয়েছে৷ এই অন্যান্য মডেলগুলি প্রায়শই তাদের গণনা সম্পাদন করার জন্য অন্যান্য কোয়ান্টাম যান্ত্রিক বৈশিষ্ট্যগুলি ব্যবহার করে। যদিও কোয়ান্টাম কম্পিউটেশনের এই অন্যান্য রূপগুলি বিদ্যমান, এটি লক্ষ করা গুরুত্বপূর্ণ যে প্রতিটি উদ্বেগের সুবিধাগুলি শুধুমাত্র শারীরিক এবং হার্ডওয়্যার সমস্যাগুলির সাথে সম্পর্কিত। যেহেতু কোয়ান্টাম কম্পিউটেশনের একটি সার্বজনীন মডেল যেকোনো কোয়ান্টাম অ্যালগরিদম সম্পাদন করতে পারে, তাই আমাদের শুধুমাত্র সার্কিট মডেলের সাথে লেগে থাকা প্রয়োজন এবং আমাদের আলোচনার জন্য অন্যান্য সর্বজনীন মডেলগুলিকে উপেক্ষা করতে পারি।

কোয়ান্টাম গণনার অন্যান্য রূপ রয়েছে যা সর্বজনীন নয়, তবে নির্দিষ্ট অ্যাপ্লিকেশনের জন্য প্রযোজ্য। উদাহরণস্বরূপ কোয়ান্টাম অ্যানিলিং অপ্টিমাইজেশান এবং নমুনা সমস্যাগুলির জন্য কার্যকর হতে পারে। অ্যানিলিং হল একটি ধাতুকে উচ্চ তাপমাত্রায় গরম করার এবং তারপরে ধীরে ধীরে ঠান্ডা হওয়ার প্রক্রিয়া। এই প্রক্রিয়ার ফলে গলিত ধাতু ধাতব অংশের পৃষ্ঠের উপর দিয়ে প্রবাহিত হয় এবং নিজেকে পুনরায় বিতরণ করে; প্রশ্নে ধাতুর অনেক বৈশিষ্ট্য পরিবর্তন করা। কোয়ান্টাম অ্যানিলিং কিছু অর্থে অ্যানিলিংয়ের শারীরিক প্রক্রিয়ার সাথে সাদৃশ্যপূর্ণ। এতে বিভিন্ন ধরণের এনার্জি ল্যান্ডস্কেপে এনকোডিং সমস্যা জড়িত এবং তারপর একটি কোয়ান্টাম স্টেটকে ল্যান্ডস্কেপ অন্বেষণ করতে দেওয়া। যদিও স্বাভাবিক তরঙ্গগুলি তাদের আশেপাশের (স্থানীয় মিনিমা) থেকে কম খাঁজে আটকে যেতে পারে, কোয়ান্টাম প্রভাবগুলি সেই গতিকে বাড়িয়ে দেয় যে গতিতে কোয়ান্টাম স্টেটগুলি ল্যান্ডস্কেপের প্রকৃত সর্বনিম্ন বিন্দু খুঁজে পায় (গ্লোবাল মিনিমা)।

import qiskit.tools.jupyter %qiskit_version_table