Der falsche Punkt in der Prämisse ist, dass eine Zusammensetzung von Einzel-Qubit- und Zwei-Qubit-Gates durch eine Art Zusammensetzung von 2 × 2- und 4 × 4-Matrizen dargestellt wird. Wenn ein Single-Qubit-Gate (für zwei Qubits ist dies ähnlich) auf das $ i $ -te Qubit von $ n $ einwirkt, muss die Matrix in umgewandelt werden
$$ (Id_2) ^ {\ otimes (i-1)} \ otimes A \ otimes (Id_2) ^ {\ otimes (n-i)}, $$
Dabei ist $ A $ die ursprüngliche $ 2 × 2 $ -Matrix, um ihre Wirkung auf den $ n $ -Qubit-Zustand zu beschreiben. Dies ist eine Matrix mit den Dimensionen $ 2 ^ n × 2 ^ n $, unabhängig vom Typ des Gates.
Während das Tensorprodukt mit Identitäten trivial aussieht, erinnern wir uns einfach daran, was es für eine Anwendung auf einen Zustandsvektor mit dem einfachsten Algorithmus bedeutet:
für jeden Index u, 0 ≤ u < 2 ^ n:
definiere u_i = Bitwert des i-ten Bits von u
definiere v = u XOR 2 ^ i
wenn u_i = 0:
neu (psi [u], psi [v]) = a * psi [u] + b * psi [v]
sonst:
neu (psi [u], psi [v]) = d * psi [u] + c * psi [v]
Ja, im Kern dieses Pseudo-Algorithmus gibt es nur eine zweidimensionale Multiplikation. Aber es wird $ 2 ^ n $ mal gemacht.
Noch bevor man die eigentliche klassische Simulation ausführen kann, kann der verfügbare Speicher knapp werden, selbst wenn der Zustand zu einem bestimmten Zeitpunkt gespeichert wird. Nehmen Sie $ n = 100 $ Qubits, das sind $ 2 ^ {100} $ komplexe Amplituden mit doppelter Genauigkeit (jeweils 128 Bit). Ich erhalte eine Schätzung, die die Datenspeicherkapazität aller Computer auf der Erde um etwa 14 Größenordnungen übersteigt, sodass wir das nicht so bald sehen werden. In der Zwischenzeit würde ein Quantencomputer mit 100 Bit für Anwendungen gerade erst interessant werden. Theoretisch ist es nicht ungewöhnlich, viel mehr als das vorgesehene zu sehen.