Якщо схема приймає більше одного кубіта як свій вхід і має квантові ворота, які приймають різну кількість кубітів як свій вхід, то як би ми інтерпретували цю схему як матрицю?
Ось приклад іграшки:
Якщо схема приймає більше одного кубіта як свій вхід і має квантові ворота, які приймають різну кількість кубітів як свій вхід, то як би ми інтерпретували цю схему як матрицю?
Ось приклад іграшки:
Відповіді:
Перші ворота - це ворота Адамара, які зазвичай представлені
Тепер, оскільки ми застосовуємо його лише до першого кубіту, ми використовуємо на ньому продукт kronecker (це мене так збентежило, коли я починав - я не мав уявлення, як масштабувати ворота; як ви можете уявити, це досить важливо ), тому ми робимо , де I - матриця тотожності 2x2. Це виробляє
Далі ми маємо ворота CNOT. Зазвичай це представлено символом
Це правильний розмір для двох кубітів, тому нам не потрібно масштабувати, використовуючи продукти kronecker. Тоді у нас є ще одна ворота гамамарда, яка має масштаб так само, як і перша. Щоб знайти загальну матрицю для ланцюга, ми їх помножимо разом:
and get
(if python multiplied correctly =) We would then multiply this by our original qubit state, and get our result.
So basically, you go through each gate one by one, take the base representation, and scale them appropriately using kronecker products with identity matrices. Then you multiply all the matrices together in the order they are applied. Be sure to do this such that if you wrote out the multiplication, the very first gate is on the far right; as arriopolis points out, this is a common mistake. Matrices are not commutative! If you don't know the base representation of a matrix, check first wikipedia's article on quantum gates which has a lot.