কোয়ান্টাম গণনা অনুকরণ করার সময় কীভাবে বিভ্রান্তির ট্র্যাক রাখবেন?


9

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

আমি জানি যে কুইটগুলি উপাদান জটিল অ্যারে দিয়ে সংরক্ষণ করা যেতে পারে । এছাড়াও, একটি কুইট গেট হল 2D অ্যারে। সুতরাং, নীচে আমার সন্দেহগুলি (বেশিরভাগ ক্ষেত্রে জড়িয়ে পড়ার সাথে সম্পর্কিত):n2nn2n×2n

  1. গেটগুলির টেনসর পণ্যটি কখন অনুসন্ধান করতে হবে ( qu কুইট সিস্টেমের জন্য )? কোয়েটগুলি জড়িয়ে না থাকলেও অর্ডারের টেনসর পণ্যটির গণনা করা কি সর্বদা প্রয়োজনীয় ?IHI32n×2n

  2. কেবলমাত্র 2n এলিমেন্ট অ্যারে (যা আমি সহগগুলি সঞ্চয় করি) দিয়ে আমি কোনভাবে কোন কুইটগুলি জড়িত তা গণনা করতে পারি? অথবা আমার n কুইটসের জড়িত তথ্য সংরক্ষণ করতে (কোন কোয়েটগুলি জড়িত রয়েছে) সংরক্ষণ করার জন্য আমার কি অন্য ডেটা কাঠামো তৈরি করা দরকার ?

  3. আমার ২ য় প্রশ্নটি কি আসলেই প্রাসঙ্গিক? আমার কী জড়িয়ে পড়ার তথ্যটি আদৌ ট্র্যাক করে রাখা দরকার? আমি বলতে চাইছি, সহগের সাথে গেটগুলি গুন করা যথেষ্ট কিনা (সিস্টেম জড়িয়ে থাকলেও) আমি জানি না। হতে পারে এটি শুধুমাত্র পরিমাপের সময় প্রাসঙ্গিক।


1
এটা নির্ভর করে nজড়িয়ে পড়া ধাঁচের ট্র্যাক রাখতে অপ্টিমাইজ করা অকাল কিনা। আপনার যদি মাত্র 3 টি কুইবট থাকে, তবে আপনি সেই প্রচেষ্টাটি রেখে খুব বেশি লাভ করছেন না তাই এটি হবে "অকাল অপ্টিমাইজেশন"। সুতরাং নিজেকে জিজ্ঞাসা করুন, এটিকে হওয়ার জন্য আপনার আসলে কী পরিমাণ স্কেলেবল দরকার।
আহুসাইন

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

1
দয়া করে এটিকে একাধিক প্রশ্নের মধ্যে বিভক্ত করুন - আমি কমপক্ষে তিনটি পৃথক প্রশ্ন দেখতে পাচ্ছি।
হিদার

3
@ তবে আমি পোস্টারটির সাথে একমত যে এগুলি আসলেই সমস্ত প্রশ্ন যা একই জিনিসটির বিভিন্ন দিক। আমি কীভাবে প্রশ্নটির উন্নতি করতে পারি তা দেখতে পাচ্ছি না, তবে আমি বিশ্বাস করি যে আমি উত্তর দিতে যথেষ্ট তা বুঝতে পেরেছি।
ডাফটওয়ুলি

2
@heather আমি দৃঢ়ভাবে করতে মডারেটর সুপারিশ না চরম ক্ষেত্রে ব্যতীত নিজেরাই হোল্ড উপর করা প্রশ্ন (পড়া: blatantly প্রসঙ্গ-বহির্ভূত বা স্প্যাম)। এই প্রশ্নটি, যদিও সামান্য প্রশস্ত একটি যুক্তিযুক্ত যুক্তিযুক্ত একটি পোস্টে উত্তর দেওয়া যেতে পারে। এফডব্লিউআইডাব্লুটি এখানে মূলত দুটি প্রশ্ন রয়েছে: 1) ফটকগুলির টেনসর পণ্যগুলি কখন গণনা করবেন? 2) এটি করার সময় জড়িয়ে পড়ার প্রভাব কীভাবে বিবেচনা করা যায়?
সঁচায়ন দত্ত

উত্তর:


5

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

আমি ধরে নিয়েছি আপনার প্রশ্নের মূল বক্তব্যটি "" এই বিশাল গণ্যমান্য ব্যয়টি কীভাবে এড়ানো যায়? " সাধারণভাবে, এটি পারে না - আপনি যদি কোয়ান্টাম কম্পিউটারের সম্পূর্ণ শক্তি ব্যবহার করে থাকেন তবে আপনার সর্বদা এটির প্রয়োজন হবে2n-শাসক রাষ্ট্র ভেক্টর। তবে, এমন বিভিন্ন কৌশল রয়েছে যা গণনা ব্যয়কে হ্রাস করে, যেমন জড়িয়ে পড়ার ট্র্যাক রেখে এত বড় রাষ্ট্রীয় ভেক্টরের প্রয়োজনে বিলম্ব।

দক্ষতা উন্নতি

উপরের নিষ্পাপ বাস্তবায়নের তুলনায় আপনি যে বৃহত্তম সঞ্চয় করতে পারেন তা হ'ল এড়ানো 2n×2nএকক ম্যাট্রিক্স। উদাহরণস্বরূপ, যদি আপনি কেবল 1- বা 2-কুইট গেট ব্যবহার করেন, কেবল ম্যাট্রিকের স্পারসিটি ব্যবহার করার অর্থ আপনার কেবল প্রয়োজনO(2n) পরিবর্তে স্টোরেজ O(22n)

তারপরে আপনি ব্যবহার করতে পারেন এমন অন্যান্য কৌশলও রয়েছে। উদাহরণস্বরূপ, কল্পনা করুন আপনি দ্বিগুবিটের একক গেট প্রয়োগ করতে চানU কুইট উপর i এবং j। আপনি আপনার রাষ্ট্র ভেক্টর থেকে 4 টি উপাদানের সেট নিতে পারেন (|x1,2,ni,j|yi,j স্থির জন্য x{0,1}n2 সব আলাদা করে y{0,1}2) এবং শুধু প্রয়োগ 4×4 ঐকিক U4-উপাদান ভেক্টর উপর। এটি প্রতিটি জন্য পুনরাবৃত্তিx ফিরে আসবে U মূল রাষ্ট্র ভেক্টর উপর আইনী।

আমি ভাবতে পারি এমন আরও কৌশল আছে যেগুলি সামনে আসতে পারে। মূল প্রশ্ন থেকে নিজেকে যে প্রস্তাবিত তা হ'ল জড়িয়ে পড়া ট্র্যাকিং। এটি একটি গণনার শুরুতে মেমরি এবং গতির উন্নতি দেয় তবে শেষ পর্যন্ত সমতুল্য হয়ে যায় কারণ (সম্ভবত) কোয়ান্টাম কম্পিউটারের সমস্ত কিছুই জড়িয়ে থাকবে।

জাল ট্র্যাকিং

আসুন ধরে নেওয়া যাক আপনার গণনাটির সেটটিতে কেবল একক বিবর্তন এবং পরিমাপ রয়েছেn কুইটস, অর্থাত্ কোনও সিদ্ধান্ত গ্রহণ, সম্ভাব্য মানচিত্র ইত্যাদি নেই, আসুন আরও ধরে নেওয়া যাক আপনি সম্পূর্ণ বিচ্ছেদযোগ্য রাষ্ট্র থেকে শুরু করেন যেমন |0n। এই মুহুর্তে, প্রতিটি কুইবিট পৃথকযোগ্য এবং এটি রাখা যথেষ্টnবিভিন্ন রেজিস্টার, প্রতিটি পৃথকযোগ্য কুইটের রাজ্য প্রকাশ করে। যদি আপনার প্রথম গেটটি কেবল একটি একক-কুইট অপারেশন হয়U কোয়েটে i, তারপরে আপনি কেবল ক্যুবিটে সংরক্ষিত রাষ্ট্রটি আপডেট করুন i যেমন |ψiU|ψi, এবং আপনাকে আর কোনও কিছু স্পর্শ করতে হবে না।

আপনি যদি চান একটি দ্বি-কুইট গেট V কুইটসের মধ্যে i এবং j, বলুন, তারপরে আপনাকে উভয় সাইটে রাজ্যগুলি একত্রিত করতে হবে। সুতরাং, আপনি মাত্রা 2 এর প্রতিটি নিবন্ধের 2 টি প্রতিস্থাপনের স্থিতি 4 এর একটি নিবন্ধের সাথে প্রতিস্থাপন করুনV|ψi|ψj। সমস্যাটি হ'ল আপনি এখন এই রাষ্ট্রটিকে আবার ভাগ করতে পারবেন না, সুতরাং আপনাকে এই দুটি কুইটগুলি চিরকালের জন্য একটি রেজিস্টারে রাখতে হবে। অবশ্যই যদি আপনার কখনও 1-কুইট গেট থাকেU কুইবিটে আবেদন করতে i, আপনি এখন আবেদন করতে হবে |ψi,jUI|ψi,j। তারপরে, পরের বার আপনি যখন 2-কুইট গেটের মাঝে চান, বলুন,j এবং k, আপনাকে স্পেসগুলি একত্রিত করতে হবে (i,j) এবং k। এই স্পেসগুলি বাড়তে থাকবে, তবে একটি গেট যদি কেবল একটি জায়গাতে স্থানীয় করা হয়, আপনাকে কেবল সেখানে এটি প্রয়োগ করতে হবে (ব্যবহার করে)I অপারেটররা এটিকে বাকি কুইটগুলিতে প্যাড করার জন্য), এবং আপনাকে অন্য স্পেসে কিছু করতে হবে না।

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

এখানে কিছু খুব অপরিশোধিত সিউডো কোড রয়েছে যা আমার অর্থ জানাতে সহায়তা করতে পারে:

#initialise variables
entangled_blocks={{1},{2},{3},...,{n}}
quantum_states={{1,0},{1,0},...,{1,0}}

#apply action of each gate
for each gate
   for each gate_target
       target_block=entangled_blocks entry containing gate_target
   next gate_target
   if all target_blocks equal then
      apply gate on target_block (pad with identity on other qubits)
   else
      new_entangled_block=union(target_blocks)
      new_state_vec=tensor_product(quantum_states for each target block)
      apply gate on new_state_vec (pad with identity on other qubits)
      replace all target_blocks in entangled_blocks with new_entangled_block
      replace all quantum_states(all target blocks) with new_state_vec
   end if
next gate

অন্যান্য অপশন

(কোনওভাবেই নিখরচায় নয়)

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


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

@ ড্যাফটওয়ুলি আপনার প্রথম বাক্যটি এমন ধারণা দেয় যে সাধারণভাবে এটি পুরো সঞ্চয় করা প্রয়োজন 2n×2n একক, বরং শুধু 2nভেক্টর।
নরবার্ট শুচ

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

@ নরবার্টসছুচ আমি বলেছিলাম যে এটি করা "যথেষ্ট" ছিল, যা সত্য। কীভাবে এড়ানো যায় সে সম্পর্কে আমি আরও কিছু বিশদ যুক্ত করেছি। আপনি সম্ভবত অন্যান্য ভাল কৌশল জানেন।
ডাউটওয়ুলি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.