A lo largo de esta respuesta, la norma de una matriz , ‖ A ‖ se tomará como la norma espectral de A (es decir, el mayor valor singular de A ). El teorema de solovay-Kitaev establece que aproximar una puerta a un error ϵ requiere O ( log c 1A∥A∥AAϵpuertas, parac<4en cualquier número fijo de dimensiones.
O(logc1ϵ)
c<4
Para la primera parte:
la aproximación introduce un error, que se propagaría y acumularía en un cálculo largo
Bueno, se puede demostrar por inducción que los errores que se acumulan al usar una matriz para aproximarse a otra son subaditivos (ver, por ejemplo, las notas de clase de Andrew Child ). Es decir, para las matrices unitarias y V i , ‖ U i - V i ‖ < ϵUiVi .∥Ui−Vi∥<ϵ∀i∈{1,2,…,t}⟹∥Ut…U2U1−Vt…V2V1∥≤tϵ
Lo que esto significa en términos de implementación es que, por un error en general no más de a alcanzar, las necesidades de cada puerta que se aproximan a dentro ε / t , oϵϵ/t
aplicando la aproximación al circuito como un todo
es lo mismo que aplicar la aproximación a cada puerta individual, cada una con un error individual no mayor que el del circuito entero dividido por el número de puertas que estás aproximando.
En términos de síntesis de compuerta, el algoritmo se realiza tomando productos del conjunto de compuerta para formar un nuevo conjunto de compuerta Γ 0 que forma una red ϵ 2 para SU ( d ) (para cualquier A ∈ SU (ΓΓ0ϵ2SU(d) ). A partir de la identidad, se encuentra recursivamente un nuevo unitario del nuevo conjunto de puertas para obtener una red más estrecha alrededor del unitario objetivo. Por extraño que parezca, el tiempo para que un algoritmo clásico realice esta operación también es O ( p o l y log 1 / ϵ ) , que es el tiempo subpolinomial. Sin embargo, segúnHarrow, Recht, Chuang, en d -dimensiones, como una bola de radio ϵ alrededor de SU ( d )A∈SU(d),∃U∈Γ0s.t.∥A−U∥≤ϵ2O(polylog1/ϵ)dϵSU(d)tiene un volumen , esto se escala exponencialmente en d 2∝ϵd2−1d2 para un número no fijo de dimensiones.
Esto tiene un efecto en el tiempo de cálculo final. Sin embargo, como la escala en el número de puertas y la complejidad computacional clásica es subpolinomial, esto no cambia la clase de complejidad de ningún algoritmo, al menos para las clases comúnmente consideradas.
Para puertas , la complejidad general (tiempo y puerta) es entonces t
O(tpolylogtϵ)
.
Cuando se utiliza el modelo de circuito unitario sin mediciones intermedias , el número de compuertas a implementar siempre se conocerá antes del cálculo. Sin embargo, es factible suponer que este no es el caso cuando se utilizan mediciones intermedias, por lo que cuando se desconoce el número de puertas que desea aproximar, esto significa que es desconocido. y si no sabe qué es t , obviamente no puede aproximar cada puerta a un error ϵ / t . Si conoce un límite en el número de puertas (por ejemplo, t max ), entonces podría aproximar cada puerta dentro de ϵ / t maxttϵ/ttmaxϵ/tmaxpara obtener un error general y complejidad O ( t≤ϵaunquesi no se conoce un límite superior en el número de puertas, cada puerta se aproximaría a alguna (más pequeña)ϵ′, dando un error general≤t′ϵpara el número resultante de puertas implementadas (que se desconoce en el comienzo)t′, con una complejidad general deO(t′
O(tpolylogtmaxϵ),
ϵ′≤t′ϵt′O(t′polylog1ϵ′).
2nthϵ/2n
O(polylog2nϵ′)=O(polynlog1ϵ′),
O(polytlog1ϵ),
Esto no es tan malo, por lo que espero que (cuando se desconoce el número de puertas) las computadoras clásicas puedan seguir encontrando las puertas correctas al menos tan rápido como las necesitaría un procesador cuántico. Si no es así, ¡con suerte una vez que los procesadores cuánticos sean lo suficientemente buenos como para que esto realmente se convierta en un problema!
1 Aunque probablemente no sea el más eficiente