আমি কীভাবে একটি এন-বিট টফোলি গেটটি বাস্তবায়ন করতে পারি?


17

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


প্রশ্নোত্তর জন্য ধন্যবাদ। তোমাকে এখানে দেখে ভালো লাগল!
জেমস ওয়াটন

উত্তর:


19

এটি করার একটি সহজ উপায় নীলসন এবং চুয়াংয়ের চিত্র 4.10 এ চিত্রিত হয়েছে। n-

যেখানে ইউ যে কোনও একক-কুইট ঘূর্ণন হতে পারে (এই ক্ষেত্রে, একটি এক্স গেট)।

এই সার্কিটটি এটির মতো কাজ করে: আমরা সমস্ত কন্ট্রোল কোয়েটের অ্যান্ড্রয়েড 1 এর সাথেই টার্গেট কুইটটিতে ইউ প্রয়োগ করতে চাই A একটি সাধারণ টফোলি আমাদের 2 কুইটের অ্যান্ড্রয়েড দেয়। সুতরাং কয়েকটি টফফোলিসের শৃঙ্খলাবদ্ধ হয়ে আমরা c1.c2.c3.c4.c5 পেতে পারি, মধ্যবর্তী ফলাফলগুলি সংরক্ষণের জন্য কিছু "কাজ" (বা আনসিলার) কোয়েট চালু করা হয়েছে catch চূড়ান্ত সিইউ প্রয়োগের পরে, আমরা লক্ষ্যে চূড়ান্ত ফলাফল পাই। এখন আমরা মধ্যবর্তী কাজের কোয়েটগুলি তাদের গণনা পূর্বাবস্থায় ফিরিয়ে পরিষ্কার করতে পারি, সেগুলিকে | 0> অবস্থায় ফিরিয়ে আনতে পারি। বিপরীতমুখী গণনার এই মডেলটি "গণনা-অনুলিপি-অসম্পৃক্ত" পদ্ধতি হিসাবে পরিচিত এবং 1973 সালে চার্লি বেনেট প্রথম প্রস্তাব করেছিলেন

সার্কিটটি নির্মাণ এবং এটির দৃশ্যধারণের জন্য এখানে কিউআইএসকিট কোডটি রয়েছে:

from qiskit import QuantumRegister, QuantumCircuit

n = 5  # must be >= 2

ctrl = QuantumRegister(n, 'ctrl')
anc = QuantumRegister(n-1, 'anc')
tgt = QuantumRegister(1, 'tgt')

circ = QuantumCircuit(ctrl, anc, tgt)

# compute
circ.ccx(ctrl[0], ctrl[1], anc[0])
for i in range(2, n):
    circ.ccx(ctrl[i], anc[i-2], anc[i-1])

# copy
circ.cx(anc[n-2], tgt[0])

# uncompute
for i in range(n-1, 1, -1):
    circ.ccx(ctrl[i], anc[i-2], anc[i-1])
circ.ccx(ctrl[0], ctrl[1], anc[0])    

from qiskit.tools.visualization import circuit_drawer
circuit_drawer(circ)

উৎপাদনের:

কিস্কিট উত্পন্ন সার্কিট


8

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

কোথায় ভী2=ইউ। এই ক্ষেত্রে, এক যে চানভী2=এক্স, এবং অতঃপর

ভী=12(1+ +আমি1-আমি1-আমি1+ +আমি) 

এটি একটি পুনরাবৃত্ত সংজ্ঞা, সুতরাং নিয়ন্ত্রণ এন কুইট গেটটি নিয়ন্ত্রণ এন -1 কুইট গেটের ক্ষেত্রে সংজ্ঞায়িত করা হয়। আপনি দুটি কুইট গেট সিএনওটিতে না পৌঁছা পর্যন্ত এটি চলতে থাকবে।

এই বাস্তবায়নটি কিছুটা কঠিন, তবে, আপেক্ষিক পর্যায়ে সংগ্রহ করতে যদি আপত্তি না জানায় তবে একটি সহজতর উপস্থিত রয়েছে (একই কাগজের লেম্মা 7..৯ দেখুন)

যেমন একটি গেট বাস্তবায়ন ভীকুইস্কিতে আপনার উন্নত একক কুইট গেটগুলি ব্যবহার করতে হবে


কেউ কি সির্কে এই গেটটি বাস্তবায়নে কাজ করেছেন?
এনরিক সেগুরা

5

কিসকিটের কোয়ান্টাম সিরকিটটিতে একাধিক মোডের মাধ্যমে একাধিক-নিয়ন্ত্রণ তোফোলি গেট তৈরির জন্য এমসিটি পদ্ধতি রয়েছে : বেসিক, বেসিক-নোংরা-অ্যানসিলা, অ্যাডভান্সড, নানসিল্লা। উদাহরণস্বরূপ 3 কন্ট্রোল কোয়েট সহ টফোলি গেট:

from qiskit import QuantumCircuit, QuantumRegister

controls = QuantumRegister(3, "c_qb")
target = QuantumRegister(1, "t_qb")
circuit = QuantumCircuit(controls, target)

circuit.mct(controls, target[0], None, mode='advanced')

print(circuit)

আউটপুট:

c_qb_0: |0>──────■────────■────────────────■──────────────────────────────────■──────────────────────────────────■────────────────────
                 │      ┌─┴─┐            ┌─┴─┐                                │                                  │                    
c_qb_1: |0>──────┼──────┤ X ├──────■─────┤ X ├──────■────────■────────────────┼─────────────────■────────────────┼────────────────────
                 │      └───┘      │     └───┘      │      ┌─┴─┐            ┌─┴─┐             ┌─┴─┐            ┌─┴─┐                  
c_qb_2: |0>──────┼─────────────────┼────────────────┼──────┤ X ├──────■─────┤ X ├──────■──────┤ X ├──────■─────┤ X ├──────■───────────
           ┌───┐ │-pi/4 ┌───┐┌───┐ │pi/4 ┌───┐┌───┐ │-pi/4 ├───┤┌───┐ │pi/4 ├───┤┌───┐ │-pi/4 ├───┤┌───┐ │pi/4 ├───┤┌───┐ │-pi/4 ┌───┐
t_qb_0: |0>┤ H ├─■──────┤ H ├┤ H ├─■─────┤ H ├┤ H ├─■──────┤ H ├┤ H ├─■─────┤ H ├┤ H ├─■──────┤ H ├┤ H ├─■─────┤ H ├┤ H ├─■──────┤ H ├
           └───┘        └───┘└───┘       └───┘└───┘        └───┘└───┘       └───┘└───┘        └───┘└───┘       └───┘└───┘        └───┘
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.