_images/qiskit_nutshell.png

এক নজরে কোয়ান্টাম কম্পিউটিং#

কোয়ান্টাম কম্পিউটিং আধুনিক প্রযুক্তিতে নতুন দৃষ্টান্ত উপস্থাপন করেছে যা কোয়ান্টাম বলবিদ্যার মৌলিক নীতিগুলি ব্যবহার করে। আপনি যেহেতু এই রচনাটি পড়ছেন, আপনি অবশ্যই শুনেছেন কোয়ান্টাম কম্পিউটেশনের কিছু প্রতিশ্রুতিময় কাজ সম্পর্কে যেমন মৌলিক উৎপাদক গণনা, কোয়ান্টাম সিমুলেশন, অনুসন্ধান, অপটিমাইজেশন এবং বীজগাণিতিক প্রোগ্রাম যেমন মেশিন লার্নিং ইত্যাদি বিশাল কম্পিউটেশন, যা এমনকি বৃহত্তম ধ্রুপদী (ক্লাসিক্যাল) কম্পিউটারের ক্ষমতার বাইরে।

কোয়ান্টাম কম্পিউটিংয়ের শক্তি কোয়ান্টাম বলবিদ্যার দুটি মূল নীতির উপর দণ্ডায়মান, যথা interference যা যথাক্রমে কোয়ান্টাম কম্পিউটেশনের তরঙ্গ- এবং কণার দিককে উল্লেখ করে। Qiskit কোয়ান্টাম কম্পিউটেশন সম্পাদনের জন্য একটি SDK যা কোয়ান্টাম বর্তনী ল্যাঙ্গুয়েজ -এর মাধ্যমে কোয়ান্টাম বলবিদ্যার এই নীতিগুলি ব্যবহার করে। কোয়ান্টাম যুক্তিবর্তনী, নির্দেশনা, প্রথাগত (ক্লাসিক্যাল) কন্ট্রোল লজিক নিয়ে গঠিত কোয়ান্টাম বর্তনী (সার্কিট) জটিল ধারাক্রম (অ্যালগরিদম) এবং অ্যাপ্লিকেশনকে নির্দিষ্ট পদ্ধতিতে কোয়ান্টাম কম্পিউটারে কার্যকর করে। মূলত, Qiskit হ'ল একটি কোয়ান্টাম বর্তনী (সার্কিট) নির্মাণ, অনুকূলকরণ (অপটিমাইজেশন) এবং এক্সিকিউশন ইঞ্জিন। অতিরিক্ত ধারাক্রম (অ্যালগরিদম) এবং অ্যাপ্লিকেশনের মাধ্যমে এবং কখনো ধ্রুপদী (ক্লাসিক্যাল) কম্পিউটিংয়ের এর সাহায্য নিয়ে এটি অনুকূলকরণ (অপটিমাইজেশন), কোয়ান্টাম রসায়ন, পদার্থবিজ্ঞান, মেশিন লার্নিং এবং ব্যবস্থাপনাবিদ্যার জটিল সমস্যার সমাধান করে। এরপরে আমরা কোয়ান্টাম কম্পিউটিংয়ের এবং Qiskit কীভাবে ব্যবহৃত হয় তার প্রতিটি ধাপের সংক্ষিপ্ত বিবরণ দিব। আগ্রহী পাঠকদের আরও বেশি জানার জন্য বাড়তি পাঠ্য উপকরণ দেয়া হলো।

ব্যতিচার (ইন্টারফিয়ারেন্স)#

ধ্রুপদী (ক্লাসিক্যাল) কম্পিউটারের মতো একটি কোয়ান্টাম কম্পিউটার বিট (bit) এর ওপর কাজ করে। তবে, যদিও ধ্রুপদী (ক্লাসিক্যাল) বিট কেবল ০ এবং ১ এই দুটি অবস্থায় পাওয়া যায়, একটি কোয়ান্টাম বিট, বা কিউবিট ০ এবং ১ অথবা উভয়ের যোগাশ্রয়ী সমযোজন অবস্থায় থাকতে পারে। এই যোগাশ্রয়ী সমযোজন সুপারপজিশন বা উপরিপাতন (অথবা উপরিপাতন মান বা অবস্থা) নামে পরিচিত।

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

_images/noise_cancel.png

Fig. 1 আনুমানিকভাবে ত্রুটি সংকেত দূরীকরণ করা হয় প্রায় সমান বিস্তার এবং \(\sim \pi\) দশাপার্থক্যযুক্ত একটি সুর বা শব্দের সাহায্যে।#

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

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

_images/quantum_interference.png

Fig. 2 ব্যতিচার (ইন্টারফিয়ারেন্স) উৎপাদন প্রক্রিয়া (প্রসেস) হিসেবে কোয়ান্টাম কম্পিউটেশন।#

এনট্যাঙ্গেলমেন্ট#

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

কোয়ান্টাম বর্তনী (সার্কিট)#

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

_images/teleportation_detailed.png

Fig. 3 কোয়ান্টাম মান টেলিপোর্টেশন বর্তনীর (সার্কিট)।#

কোয়ান্টাম বর্তনী (সার্কিট) গণনা সম্পাদন করতে একটি কোয়ান্টাম কম্পিউটারকে ধ্রুপদী (ক্লাসিক্যাল) তথ্য নিয়ে একটি ধ্রুপদী (ক্লাসিক্যাল) সমাধান আউটপুট দিতে সক্ষম করে ব্যতিচার (ইন্টারফিয়ারেন্স) এবং এনট্যাঙ্গেলমেন্ট কোয়ান্টাম নীতিগুলিকে কাজে লাগিয়ে।

একটি আদর্শ কোয়ান্টাম ধারাক্রম (অ্যালগরিদম) কর্মধারা যা নিয়ে গঠিত হয় তা হলঃ

  • আমরা যে সমস্যা সমাধান করতে চাইছি,

  • একটি ধ্রুপদী (ক্লাসিক্যাল) ধারাক্রম​ যা কোয়ান্টাম বর্তনীর (সার্কিট) বিবরণ যোগায়,

  • কোয়ান্টাম বর্তনী (সার্কিট) যা কোয়ান্টাম হার্ডওয়্যারে রান করা প্রয়োজন,

  • এবং এটি যে ফলাফল উৎপাদন করে তা হল সমস্যার ধ্রুপদী (ক্লাসিক্যাল) সমাধান।

কোয়ান্টাম যুক্তিবর্তনী (গেইট) কোয়ান্টাম তথ্যের (ডেটা) উপর প্রারম্ভিক ক্রিয়াকলাপ (অপারেশন) গঠন করে। কোয়ান্টাম যুক্তিবর্তনীগুলো তথ্য সংরক্ষণ করে, কোয়ান্টাম তথ্যের উপরে করা বিপরীতদিকের পরিবর্তনগুলো (রিভার্সিবল ট্রান্সফর্মেশন) কিউবিটে সংরক্ষিত থাকে। এই ঐকিক (ইউনিটারি) রূপান্তরগুলি কোয়ান্টাম সার্কিটের কোয়ান্টাম যান্ত্রিক কোর (core) কে প্রতিনিধিত্ব করে। কিছু গেট যেমন \(X\) ( \(\oplus\) হিসাবেও লেখা যায়) এবং \(CX\) -এর যথাক্রমে বিট-ফ্লিপ এবং \(XOR\) অপারেশনের মতো ধ্রুপদী (ক্লাসিক্যাল) অ্যানালগ রয়েছে, যা অন্যদের নেই। হ্যাডামার্ড (Hadamard (\(H\))) যুক্তিবর্তনী (গেইট), পরামিতিক ঘূর্ণন (প্যারামিটারাইজড রোটেট) যুক্তিবর্তনীসমূহ \(rX(\theta)\) এবং \(rY(\theta)\), উপরিপাতন (সুপারপজিশন) অবস্থা (স্টেট) তৈরি করে, যখন : \(Z\), \(rZ(\theta)\), \(S\), এবং \(T\) গেটগুলি দশা (ফেজ) তৈরি করে যা ব্যতিচারের (ইন্টারফিয়ারেন্স) জন্য ব্যবহার করা যায়। \(CX\) গেটের মতো দুই-কিউবিট গেটগুলি কিউবিট জোড়ার মধ্যে এনট্যাঙ্গেলমেন্ট তৈরি করতে বা এক কিউবিট থেকে আরেকটি কিউবিটে দশা (ফেজ) কে স্থানান্তর করতে ব্যবহৃত হয়। অপরদিকে, পরিমাপ বা মেজারমেন্ট অপারেশন, যা একটি "টার্গেট" তারের সাথে সংযোগকারী একটি লাইন সহ একটি বাক্সে মিটার প্রতীক দ্বারা চিহ্নিত, একটি কিউবিটের অবস্থা সম্পর্কে আংশিক তথ্য বের করে। এই দশাকে ধ্রুপদী (ক্লাসিক্যাল) বিট হিসাবে প্রকাশ করতে এবং লক্ষ্য (টার্গেট) তারে তা লিখে রাখতে (অনেক রিডআউট যন্ত্রেই সম্পূর্ণ ক্লাসিক্যাল তার) প্রায়শই দশাটি হারিয়ে যায়। এটি কোয়ান্টাম ডেটা থেকে একটি ধ্রুপদী (ক্লাসিক্যাল) ডিভাইসে তথ্য নেওয়ার একটি সাধারণ উপায়। মনে রাখবেন যে শুধু \(H\), \(rZ(\theta)\), \(CX\), এবং পরিমাপের গেইট দিয়ে, অর্থাৎ একটি সার্বজনীন যুক্তিবর্তনী (গেইট) সেট দিয়ে, আমরা যেকোনো কোয়ান্টাম বর্তনী (সার্কিট) তৈরি করতে পারি, যার মধ্যে রয়েছে দক্ষতার সাথে প্রকৃতির যে কোন ভৌত ব্যবস্থার গতিবিদ্যা গণনা করা।

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

Constructing complex quantum circuits with minimal effort is at the heart of Qiskit, which supports a rich feature set of operations and can send your circuits to a range of quantum computers or classical simulators. With only a few lines of code, it is possible to construct complex circuits like the one above.

qr = QuantumRegister(3, 'q')
cr = ClassicalRegister(2, 'zx_meas')
qc = QuantumCircuit(qr,cr)
qc.reset(range(3))
qc.barrier()
qc.h(1)
qc.cx([1,0],[2,1])
qc.h(0)
qc.barrier()
qc.measure([0,1], [0,1])
qc.barrier()
qc.z(2).c_if(cr, 1)
qc.x(2).c_if(cr, 2)

কোয়ান্টাম কম্পিউটারসমূহ#

_images/system_one.jpeg

Fig. 4 IBM কোয়ান্টাম ব্যবস্থা (সিস্টেম) একের (ওয়ান) একটি অভ্যন্তরীণ দৃশ্য।#

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

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

_images/system_error.png

Fig. 5 আইবিএম কোয়ান্টামের ibmq_manhattan ব্যবস্থার স্তরবিন্যাসক্রম (টপোলজি) এবং ত্রুটির হার (এরর রেট)।#

এরপর কোথায় যাবেন#

কোয়ান্টাম গণনা কি করতে পারে তার একটি নমুনা আমরা পাঠককে দিতে পেরেছি বলে আশা করি এবং আপনি নিশ্চয়ই আরও জানার জন্য আগ্রহী। সেজন্য, এখানে কিছু গুরুত্বপূর্ণ জিনিস দেয়া হলোঃ

  • Qiskit পরিচিতি - সরাসরি Qiskit শুরু করা যাক।

  • কোয়ান্টাম গণনার ব্যবহার নির্দেশিকা : কোয়ান্টাম গণনার কয়েকজন প্রতিষ্ঠাতার দ্বারা লিখিত একটি সহজ পদার্থবিজ্ঞান ভিত্তিক ভূমিকা যা পারস্পরিক ক্রিয়াশীল বর্তনী (ইন্টারেক্টিভ সার্কিট) কম্পোজারকে ব্যবহার করে।

  • Qiskit textbook : A university quantum algorithms/computation course supplement based on Qiskit.