Nếu một mạch lấy nhiều hơn một qubit làm đầu vào của nó và có các cổng lượng tử lấy số lượng qubit khác nhau làm đầu vào của chúng, thì chúng ta sẽ hiểu mạch này như một ma trận như thế nào?
Dưới đây là một ví dụ về đồ chơi:
Nếu một mạch lấy nhiều hơn một qubit làm đầu vào của nó và có các cổng lượng tử lấy số lượng qubit khác nhau làm đầu vào của chúng, thì chúng ta sẽ hiểu mạch này như một ma trận như thế nào?
Dưới đây là một ví dụ về đồ chơi:
Câu trả lời:
Cổng đầu tiên là cổng Hadamard thường được đại diện bởi
Tiếp theo chúng ta có một cổng CNOT. Điều này thường được đại diện bởi
Đây là kích thước phù hợp cho hai qubit, vì vậy chúng tôi không cần phải mở rộng quy mô bằng cách sử dụng các sản phẩm kronecker. Sau đó chúng tôi có một cổng hadamard khác, có quy mô giống như cổng đầu tiên. Để tìm ma trận tổng thể cho mạch, sau đó, chúng tôi nhân tất cả chúng lại với nhau:
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.