Если схема принимает более одного кубита в качестве входа и имеет квантовые вентили, которые принимают различное количество кубитов в качестве входа, как бы мы интерпретировали эту схему как матрицу?
Вот игрушечный пример:
источник
Если схема принимает более одного кубита в качестве входа и имеет квантовые вентили, которые принимают различное количество кубитов в качестве входа, как бы мы интерпретировали эту схему как матрицу?
Вот игрушечный пример:
Первые ворота - это ворота Адамара, которые обычно представлены
Теперь, поскольку мы применяем его только к первому кубиту, мы используем на нем продукт 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.