ToolDingo

কোয়ান্টাম কম্পিউটার simulator

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

Noise মডেল

বাস্তব কোয়ান্টাম কম্পিউটারে পরিবেশ, gate ও readout-এর ত্রুটি হয়। আদর্শ হিসাবের পাশাপাশি এখানে সাধারণ ত্রুটি মডেল চালিয়ে ফলের প্রভাব দেখা যায়।

এই পৃষ্ঠার উচ্চ স্তর ও হাতে লেখা সব simulation-এ প্রযোজ্য।
%
প্রতি gate ও যুক্ত কিউবিট, অথবা readout-এ প্রতি bit। পরীক্ষার পরিস্থিতির মান বেছে নিন।

Program code

quantum.add, subtract, multiply, divide বা random নির্দেশ দিয়ে হিসাব লিখুন। Ctrl+Enter একসঙ্গে চাপলে কোয়ান্টাম অনুকরণ চালু হয়।

নথি

Editor-এ হিসাব লিখলে বাস্তব circuit স্বয়ংক্রিয়ভাবে তৈরি ও অনুকরণ হয়। সর্বোচ্চ ৪০০০ অক্ষর। Ctrl+Enter simulation চালায়।

সূত্রবিবরণসীমা
quantum.add({ a, b })দুই সংখ্যা যোগফল সর্বোচ্চ ৪ bit (০–১৫)
quantum.subtract({ a, b })বিয়োগa ≥ b, সর্বোচ্চ ৪ bit
quantum.multiply({ a, b })গুণFactor ০–৭ (৩ bit)
quantum.divide({ a, b })ভাগ (ভাগফল + ভাগশেষ)b ≥ 1; bits(a)+bits(b)+bits(a÷b)+1 ≤ 10
quantum.random({ bits })সত্যিকারের কোয়ান্টাম random সংখ্যা১–১০ bit

উদাহরণ বেছে নিন

Circuit code

সর্বোচ্চ ৪০০০ অক্ষর। QuantumCircuit method: x, y, z, h, s, sdg, t, tdg, rx, ry, rz, cnot, cz, ccnot, swap, measureAll, run।

উদাহরণ বেছে নিন

ভিত্তি: কীভাবে কাজ করে?

প্রচলিত নিয়ন্ত্রণ কম্পিউটার, লেজার ও আলোকযন্ত্র দিয়ে শূন্যচাপের কক্ষের কিউবিট নিয়ন্ত্রণের চিত্র।
ধ্রুপদি control থেকে laser ও optics হয়ে ভৌত কিউবিট।

Program থেকে ভৌত কিউবিট

বাস্তব কোয়ান্টাম কম্পিউটার শুধু chip নয়। ধ্রুপদি electronics circuit-কে সুনির্দিষ্ট pulse-এ বদলে vacuum chamber-এর কিউবিট পরিবর্তন ও মাপে; ফল আবার ধ্রুপদি computer-এ ফেরে।

কিউবিট ও ভিত্তি অবস্থা

ধ্রুপদি bit 0 বা 1। কিউবিট দুই ভিত্তি অবস্থার superposition-এও থাকতে পারে |0⟩ এবং |1⟩। একাধিক কিউবিটে সব ভিত্তি অবস্থা bit string, যেমন |10⟩ ২ কিউবিটে—যেখানে q0 এই simulator-এ সব সময় বাঁয়ের সবচেয়ে গুরুত্বপূর্ণ bit।

সুপারপজিশন

Superposition-এ একাধিক ভিত্তি অবস্থার component থাকে। Complex amplitude-এর magnitude-এর বর্গ মাপের সম্ভাবনা দেয়।

Bloch sphere

এক কিউবিটকে sphere-এর তীরে দেখা যায়: উত্তর |0⟩, দক্ষিণ |1⟩, আর বিষুবরেখা সমান superposition। phase দিক নির্ধারণ করে। Rotation gate rx, ryএবং rz নিজ অক্ষ ঘিরে তীর ঘোরায়; S ও T Z অক্ষ ঘিরে phase ঘোরায়। Entanglement-এ তীর কেন্দ্রের দিকে ছোট হয়।

মাপ ও shot

measureAll() সব কিউবিট মেপে circuit শেষ করে। এক মাপে এক random ফল বলে circuit-কে ধারণাগতভাবে বহু shot মাপা হয় run({ shots }), ফলে histogram-এ বণ্টন দেখা যায়। exact সম্ভাবনা state vector থেকে আলাদা হিসাব হয়।

Hadamard gate

Hadamard gate h(q) কিউবিটকে নির্দিষ্ট অবস্থা (|0⟩ বা |1⟩) থেকে সমান superposition-এ নেয় |0⟩ এবং |1⟩ —মাপে প্রায় ৫০% / ৫০%।

Phase gate: S ও T

Gate s(q) এবং t(q) এক কিউবিটের মাপের সম্ভাবনা বদলায় না; শুধু |1⟩ কম্পনের বিস্তারের পর্যায়কে এস গেট ৯০° ও টি গেট ৪৫° ঘোরায়। হাডামার্ড গেটের মাঝের তরঙ্গ-হস্তক্ষেপে এর প্রভাব দেখা যায়। বিপরীত রূপ sdg(q) এবং tdg(q) বিপরীত দিকে ঘোরায়। দুই T = S, দুই S = Z।

CNOT ও শর্তাধীন entanglement

CNOT gate cnot(control, target) control কিউবিট অবস্থায় থাকলেই target উল্টায় |1⟩। control আগে superposition-এ থাকলে entanglement হতে পারে; নির্দিষ্ট অবস্থায় শুধু শর্তাধীন bit flip। তাই সব CNOT entanglement তৈরি করে না।

CZ: CNOT-এর সমমিত আত্মীয়

CZ gate cz(a, b) দুই কিউবিটই হলে amplitude-এর চিহ্ন উল্টায় |1⟩। control ও target নেই; দুই কিউবিটে একই কাজ। Target-এর আগে-পরে Hadamard দিলে CZ থেকে CNOT হয়। Grover-এ এটি গুরুত্বপূর্ণ।

GHZ: তিন কিউবিটের entanglement

GHZ Bell ধারণাকে তিন কিউবিটে বাড়ায়: এক Hadamard ও দুই CNOT-এর পর শুধু |000⟩ বা |111⟩ মাপে। তথ্য যৌথ সম্পর্কেই থাকে।

Deutsch: ক্ষুদ্রতম কোয়ান্টাম সুবিধা

এক oracle মূল্যায়নে ফাংশন স্থির নাকি সুষম জানা যায়, যেখানে ধ্রুপদি হিসাবে দুইবার লাগে। Superposition ও interference উত্তরকে input কিউবিটে রাখে।

Grover অনুসন্ধান: amplitude বাড়ানো

Oracle phase flip দিয়ে লক্ষ্য চিহ্নিত এবং diffusion তার amplitude বাড়ায়। দুই কিউবিটে এক ধাপেই ১০০% লক্ষ্য মাপে।

বিপরীতযোগ্য যোগ: quantum.add() থেকে circuit

ওপরের editor অনুবাদ করে quantum.add({ a, b }) X, CNOT ও CCNOT circuit-এ, যা তথ্য না ফেলে বিপরীতযোগ্যভাবে যোগ করে। CCNOTccnot(c1, c2, target)দুই control হলে target উল্টায় |1⟩ । X দিয়ে A ও B নির্দিষ্ট ভিত্তি অবস্থায় শুরু হয়। Superposition না থাকায় শেষে এক সঠিক যোগফল ১০০% আসে। তাই quantum.add() কোয়ান্টাম simulation হলেও নির্ধারিত ফল দেয়।

বিয়োগ: উল্টো যোগ

সব gate বিপরীতযোগ্য বলে পুরো adder উল্টো চালালে বিয়োগ হয়: quantum.subtract({ a, b }) adder-এর gate উল্টো ক্রমে a − b হিসাব করে। ঋণাত্মক ফল এড়াতে a ≥ b লাগে।

গুণ: quantum.multiply()

স্কুলের পদ্ধতিতে b-এর বসা bit অনুযায়ী a-কে সরে যাওয়া অবস্থানে যোগ করা হয়। প্রতিটি আংশিক যোগ বিপরীতযোগ্য। ১০ কিউবিট সীমার জন্য factor ০–৭।

ভাগ: quantum.divide()

ভাগও বিপরীতযোগ্য অংশ ব্যবহার করে: quantum.divide({ a, b }) ভাগশেষ register থেকে ভাজকের সরে যাওয়া বিয়োগে ভাগফল দেয় এবং ভাগশেষ (a = quotient · b + remainder)। Dividend, divisor, quotient এবং borrow কিউবিট ১০-এর মধ্যে থাকতে হওয়ায় bits(a) + bits(b) + bits(a÷b) + 1 ≤ 10 শর্ত পূরণ জরুরি; divisor b অন্তত ১। না মিললে editor ত্রুটি জানায়।

সত্যিকারের randomness: quantum.random()

ধ্রুপদি computer-এর random সংখ্যা deterministic algorithm। কোয়ান্টাম computer-এ quantum.random({ bits }) Hadamard দিয়ে প্রতিটি bit ৫০/৫০ superposition-এ এবং মাপ মৌলিকভাবে অনির্দেশ্য ফল দেয়। বাস্তব hardware-এ সত্যিকারের; এই simulator browser-এর pseudo-randomness দিয়ে নকল করে।

Simulator বনাম বাস্তব hardware

এই simulator browser-এ ধ্রুপদি floating-point দিয়ে সর্বোচ্চ ১০ কিউবিট exact হিসাব করে। বাস্তব computer ভৌত, ত্রুটিপ্রবণ কিউবিট ব্যবহার করে এবং বড় circuit-এ সুবিধা দেয়। এটি শেখার সরঞ্জাম, বাস্তব processor নয়।

সচরাচর জিজ্ঞাসিত প্রশ্ন

এটি কি বাস্তব কোয়ান্টাম কম্পিউটার?
না। এটি ধ্রুপদি state-vector simulator, যা browser-এ floating-point দিয়ে সর্বোচ্চ ১০ কিউবিটের গণিত করে। বাস্তব hardware ভৌত কিউবিট ব্যবহার করে।
"10" bit string-এ q0 কোনটি?
q0 সব সময় সবচেয়ে গুরুত্বপূর্ণ বাঁয়ের bit। দুই কিউবিটে x(0) তাই |10⟩ তৈরি করে।
shot কী?
Shot হলো অনুকরণ করা পুনরাবৃত্ত মাপ (১–১০,০০০)। প্রতিটি exact সম্ভাবনা অনুযায়ী র‍্যান্ডম ফল তোলে; exact সম্ভাবনা আলাদা দেখানো হয়।
কিছু উদাহরণে ত্রুটি কেন?
এক circuit-এ measureAll()-এর পরে এক run() অনুমোদিত। ভুল index, মাপের পরে gate, ভুল কোণ, shot বা syntax স্পষ্ট ত্রুটি দেয়।
Hadamard, X ও CNOT কী করে?
এক্স গেট |0⟩ ও |1⟩ অদলবদল করে। হাডামার্ড গেট সমান অতিস্থাপন তৈরি করে। নিয়ন্ত্রক কিউবিট |1⟩ হলে সি-নট লক্ষ্য কিউবিট উল্টায় এবং কোয়ান্টাম জড়তা তৈরি করতে পারে।
Entanglement কীভাবে হয়?
প্রথম কিউবিটে Hadamard ও দ্বিতীয়টিতে CNOT দিলে তাদের স্বাধীনভাবে বর্ণনা করা যায় না; মাপে |00⟩ বা |11⟩-এর মতো সম্পর্কিত ফল আসে।