রিগেটির 19 কোবিট চিপ এবং গুগলের 72 কুইবিট ব্রিস্টলকোন চিপের জন্য শারীরিকভাবে সিএনটিগুলি কী অনুমোদিত?


12

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

ibmqx4_c_to_tars = {
    0: [],
    1: [0],
    2: [0, 1, 4],
    3: [2, 4],
    4: []}  # 6 edges

তাদের ibmqx4 চিপ জন্য।

গুগলের 72 কুইট ব্রিস্টলিকন চিপের জন্য সেই ডিকটি কী হবে? আপনি বোঝা হিসাবে ডিক লিখতে পারেন। রিগেটির 19 কোবিট চিপের একই প্রশ্ন।


হতে পারে আপনি প্রশ্নের চিপস বর্ণনার একটি লিঙ্ক যুক্ত করতে পারেন? আমি রেজিটির চিপের বিশেষ উল্লেখগুলি খুঁজে পেতে ব্যর্থ হয়েছি।
নীলিমি

উত্তর:


12

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

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

$ pip install cirq
$ python
>>> import cirq
>>> print(cirq.google.Bristlecone)
                                             (0, 5)────(0, 6)
                                             │         │
                                             │         │
                                    (1, 4)───(1, 5)────(1, 6)────(1, 7)
                                    │        │         │         │
                                    │        │         │         │
                           (2, 3)───(2, 4)───(2, 5)────(2, 6)────(2, 7)───(2, 8)
                           │        │        │         │         │        │
                           │        │        │         │         │        │
                  (3, 2)───(3, 3)───(3, 4)───(3, 5)────(3, 6)────(3, 7)───(3, 8)───(3, 9)
                  │        │        │        │         │         │        │        │
                  │        │        │        │         │         │        │        │
         (4, 1)───(4, 2)───(4, 3)───(4, 4)───(4, 5)────(4, 6)────(4, 7)───(4, 8)───(4, 9)───(4, 10)
         │        │        │        │        │         │         │        │        │        │
         │        │        │        │        │         │         │        │        │        │
(5, 0)───(5, 1)───(5, 2)───(5, 3)───(5, 4)───(5, 5)────(5, 6)────(5, 7)───(5, 8)───(5, 9)───(5, 10)───(5, 11)
         │        │        │        │        │         │         │        │        │        │
         │        │        │        │        │         │         │        │        │        │
         (6, 1)───(6, 2)───(6, 3)───(6, 4)───(6, 5)────(6, 6)────(6, 7)───(6, 8)───(6, 9)───(6, 10)
                  │        │        │        │         │         │        │        │
                  │        │        │        │         │         │        │        │
                  (7, 2)───(7, 3)───(7, 4)───(7, 5)────(7, 6)────(7, 7)───(7, 8)───(7, 9)
                           │        │        │         │         │        │
                           │        │        │         │         │        │
                           (8, 3)───(8, 4)───(8, 5)────(8, 6)────(8, 7)───(8, 8)
                                    │        │         │         │
                                    │        │         │         │
                                    (9, 4)───(9, 5)────(9, 6)────(9, 7)
                                             │         │
                                             │         │
                                             (10, 5)───(10, 6)

অনুমোদিত সিজেড ক্রিয়াকলাপগুলি সমন্বিত একটি সেট আপনি এখানে পাবেন কীভাবে:

qubits = cirq.google.Bristlecone.qubits
allowed = {cirq.CZ(a, b)
           for a in qubits
           for b in qubits
           if a.is_adjacent(b)}

সেটে এতে 121 টি উপাদান রয়েছে এবং সেটটিতে আপনি সিজেড (এক্স, ওয়াই) বা সিজেড (ওয়াই, এক্স) পান কিনা তা কিছুটা এলোমেলো, সুতরাং আমি এখানে সেটটির একটি মুদ্রণ অন্তর্ভুক্ত করব না।

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

import cirq
device = cirq.google.Bristlecone
a, b, c, d, e = device.col(6)[:5]
circuit = cirq.Circuit.from_ops(
    cirq.CZ(a, b),
    cirq.CZ(c, d),
    cirq.CZ(a, b),
    cirq.CZ(d, e),
    device=device)
print(circuit)
# (0, 6): ───@───────@───
#            │       │
# (1, 6): ───@───────@───
# 
# (2, 6): ───────@───────
#                │
# (3, 6): ───────@───@───
#                    │
# (4, 6): ───────────@───

প্রথম দুটি ক্রিয়াকলাপ স্তম্ভিত হয়েছিল কারণ সেগুলি সংলগ্ন সিজেড, তবে দ্বিতীয় দুটি সেগুলির কারণে নয়।


এপিআইয়ের দুর্দান্ত ব্যবহার! আপনার সমাধান আমার চেয়ে ভাল! :)
নীলিমি

নেলিমি, আপনার সমাধানটিও সঠিক এবং জাল। সার্কটি আয়তক্ষেত্রাকার অ্যারেটি 45 ডিগ্রি ঘোরানো বেছে নিয়েছে যা কিছুটা বিকৃত
rrtucci

1
আচ্ছা বুঝলাম. তারা
এএসকি

গুগলের কোয়ান্টাম কম্পিউটার আছে?
ব্যবহারকারী 1271772

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

9

ব্রিস্টলোন কোয়ান্টাম চিপ উপস্থাপনের মূল ব্লগ পোস্ট থেকে , এখানে চিপের সংযোগের মানচিত্রটি রয়েছে:

ব্রিস্টলোন সংযোগের মানচিত্র

0

connectivity_map = {
    i : [i + offset
         for offset in (-6, -5, 5, 6) # values deduced by taking a qubit in the middle of
                                      # chip and computing the offsets between the choosen
                                      # qubit and it's 4 neighbours
         if ((0 <= i+offset < 72)             # the neighbour should be a valid qubit
             and ((i+offset) // 6 != i // 6)) # the neighbour should not be on the same line
    ]
    for i in range(72)
}

সতর্কতা : উপরের অভিব্যক্তিটি সম্পূর্ণ যাচাইকৃত নয়। এটি প্রথম কুইটসের জন্য কাজ করে বলে মনে হচ্ছে এটি আমার কাছে যৌক্তিক মনে হলেও মানচিত্রটি 100% সঠিক কিনা তা যাচাই করা আপনার ব্যাপার up

সতর্কতা 2 : গুগলের ব্লগ পোস্ট কুইটগুলির মধ্যে সংযোগগুলির প্রবণতা সম্পর্কে কথা বলে না। উপরের সংযোগের মানচিত্রটি ধরে নিয়েছে যে সংযোগগুলি দ্বিপক্ষীয়।


3

পাইকুইলের বর্তমান সংস্করণটি একটি "আইএসএ" অবজেক্ট সরবরাহ করে যা রিগেটির কোয়ান্টুন প্রসেসরের সম্পর্কে আপনার কাছে থাকা তথ্য রাখে, তবে আপনার অনুরোধ অনুসারে এটি ফর্ম্যাট করা হয়নি। আমি একজন দুর্বল পাইথন প্রোগ্রামার, সুতরাং আপনাকে আমার অ-পাইথোনিক-নেসটি ক্ষমা করতে হবে — তবে এখানে একটি স্নিপেট রয়েছে যা device_nameআপনার অভিধানগুলির মধ্যে একটিতে পাইকুইল আইএসএর পুনরায় ফর্ম্যাট করবে:

import pyquil.api as p

device_name = '19Q-Acorn'

isa = p.get_devices(as_dict=True)[device_name].isa
d = {}
for qubit in isa.qubits:
    l = []
    for edge in isa.edges:
        if qubit.id is edge.targets[0]:
            l += [edge.targets[1]]
        if qubit.id is edge.targets[1]:
            l += [edge.targets[0]]
    if not qubit.dead:
        d[qubit.id] = l

print(d)

Google এর ক্ষেত্রে যেমন, নেটিভ দুই qubit গেট সাধারণত Rigetti কোয়ান্টাম প্রসেসর পাওয়া একটি হল CZ, যা (1) (†) দ্বিমুখী অর্থে হয় CZ q0 q1হিসাবে একই CZ q1 q0এবং (2) সহজেই আপনার পছন্দের যেকোন রূপান্তরিত হয় CNOTহেডামারড গেট দিয়ে লক্ষ্য স্যান্ডউইচ করে।

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

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.