O papel das portas T e das fábricas T na computação quântica
Este artigo descreve o papel das portas T e fábricas T na computação quântica tolerante a falhas. Fornecendo um algoritmo quântico, a estimativa dos recursos necessários para executar as portas T e as fábricas T torna-se crucial para determinar a viabilidade do algoritmo. O Avaliador de Recursos do Azure Quantum calcula o número de estados T necessários para executar o algoritmo, o número de qubits físicos para uma única fábrica T e o runtime da fábrica T.
Conjunto universal de portas quânticas
De acordo com os critérios de DiVincenzo, um computador quântico escalável deve ser capaz de implementar um conjunto universal de portas quânticas. Um conjunto universal contém todas as portas necessárias para realizar qualquer computação quântica, ou seja, qualquer computação deve se decompor de volta em uma sequência finita de portas universais. No mínimo, um computador quântico deve ser capaz de mover qubits únicos para qualquer posição na Esfera de Bloch (usando portas de qubit único), bem como introduzir emaranhamento no sistema, o que requer uma porta de vários qubits.
Há apenas quatro funções que mapeiam um bit para um bit em um computador clássico. Por outro lado, há um número infinito de transformações de unitários em um único qubit em um computador quântico. Portanto, nenhum conjunto finito de operações quânticas primitivas ou portas pode replicar exatamente o conjunto infinito de transformações unitárias permitidas na computação quântica. Isso significa que, diferentemente da computação clássica, é impossível para um computador quântico implementar cada programa quântico possível usando exatamente um número finito de portões. Assim, os computadores quânticos não podem ser universais no mesmo sentido dos computadores clássicos. Como resultado, quando dizemos que um conjunto de portões é universal para computação quântica, na verdade queremos dizer algo um pouco mais fraco do que com a computação clássica.
Para universalidade, é necessário que um computador quântico apenas se aproxime de todas as matrizes unitárias dentro de um erro finito usando uma sequência de portas de comprimento finito.
Em outras palavras, um conjunto de portões será um conjunto de portões universal se qualquer transformação de unitários puder ser aproximadamente gravada como produto de portões desse conjunto. É necessário que, para qualquer limite de erro prescrito, existam portas $G_{1}, G_{2}, \ldots, G_N$ do conjunto de portas de modo que
$$ G_N G_{N-1}\cdots G_2 G_1 \approx U. $$
Como a convenção para a multiplicação de matrizes é multiplicar da direita para a esquerda, a primeira operação de porta nesta sequência, $G_N$, é na verdade a última aplicada ao vetor de estado quântico. Mais formalmente, dizemos que esse conjunto de portões é universal se para cada tolerância de erro $\epsilon>0$ existe $G_1, \ldots, G_N$ de modo que a distância entre $G_N\ldots G_1$ e $U$ seja no máximo $\epsilon$. Idealmente, o valor de $N$ necessário para alcançar essa distância de $\epsilon$ deve dimensionar polilogaritmicamente com $1/\epsilon$.
Por exemplo, o conjunto formado pelas portas Hadamard, CNOT e T é um conjunto universal, a partir do qual qualquer computação quântica (em qualquer número de qubits) pode ser gerada. O conjunto de portas Hadamard e T gera qualquer porta de qubit único:
$$H=\frac{1}{\sqrt{ 1 amp; 1 \\ 1 &-1 \end{bmatrix}, \qquad T=\begin{bmatrix} 1 & 0 \\ 0 & e^{i\pi/4}\end{bmatrix}.&{2}}\begin{bmatrix} $$
Em um computador quântico, as portas quânticas podem ser classificadas em duas categorias: portas de Clifford e portas não-Clifford, neste caso, a porta T. Programas quânticos feitos apenas de portas de Clifford podem ser simulados de forma eficiente usando um computador clássico e, portanto, portas não Clifford são necessárias para obter vantagem quântica. Em muitos esquemas de correção de erros quânticos (QEC), as chamadas portas de Clifford são fáceis de implementar, ou seja, requerem muito poucos recursos em termos de operações e qubits para implementar tolerantes a falhas, enquanto as portas não Clifford são bastante caras quando exigem tolerância a falhas. Em um conjunto de portas quânticas universais, a porta T é comumente usada como a porta não-Clifford.
O conjunto padrão de portas Clifford de qubit único, incluído por padrão no Q#, inclui
$$ H=\frac{{1}{\sqrt{{2}}\begin{bmatrix} 1 & 1 \\ 1 &-1 \end{bmatrix} , \qquad S =\begin{bmatrix} 1 & 0 \\ 0 & i \end{bmatrix}= T^2, \qquad X=\begin{bmatrix} 0 & \\ 1 1& 0 \end{bmatrix}= HT^4H, $$
$$ Y =\begin{bmatrix} 0 & -i \\ i & 0 \end{bmatrix}=T^2HT^4 HT^6, \qquad Z=\begin{bmatrix}1& \\ 0 0&-1 \end{bmatrix}=T^4. $$
Juntamente com o portão não Clifford (o portão T), essas operações podem ser compostas para aproximar qualquer transformação unitária em um único qubit.
Fábricas T no Avaliador de Recursos do Azure Quantum
A preparação da porta T não-Clifford é crucial porque as outras portas quânticas não são suficientes para a computação quântica universal. Para implementar operações não Clifford para algoritmos de escala prática, são necessárias portas T de baixa taxa de erro (ou estados T). No entanto, eles podem ser difíceis de implementar diretamente em qubits lógicos e também podem ser difíceis para alguns qubits físicos.
Em um computador quântico tolerante a falhas, os estados T de baixa taxa de erro necessários são produzidos usando uma fábrica de destilação em estado T, ou fábrica T para abreviar. Essas fábricas T normalmente envolvem uma sequência de rodadas de destilação, onde cada rodada recebe muitos estados T ruidosos codificados em um código de distância menor, processa-os usando uma unidade de destilação e produz menos estados T menos ruidosos codificados em um código de distância maior, com o número de rodadas, unidades de destilação e distâncias sendo parâmetros que podem ser variados. Este procedimento é iterado, onde os estados T de saída de uma rodada são alimentados na próxima rodada como entradas.
Com base na duração da fábrica T, o Avaliador de Recursos do Azure Quantum determina com que frequência uma fábrica T pode ser invocada antes de exceder o tempo de execução total do algoritmo e, portanto, quantos estados T podem ser produzidos durante o tempo de execução do algoritmo. Normalmente, são necessários mais estados T do que o que pode ser produzido nas invocações de uma única fábrica T durante o tempo de execução do algoritmo. Para produzir mais estados T, o Avaliador de Recursos usa cópias das fábricas T.
Estimativa física da fábrica T
O Avaliador de Recursos calcula o número total de estados T necessários para executar o algoritmo e o número de qubits físicos para uma única fábrica T e seu runtime.
O objetivo é produzir todos os estados T dentro do tempo de execução do algoritmo com o menor número possível de cópias de fábrica T. O diagrama a seguir mostra um exemplo do tempo de execução do algoritmo e do tempo de execução de uma fábrica T. Você pode ver que o tempo de execução da fábrica T é menor do que o tempo de execução do algoritmo. Neste exemplo, uma fábrica T pode destilar um estado T. Duas perguntas surgem:
- Com que frequência a fábrica T pode ser invocada antes do final do algoritmo?
- Quantas cópias da rodada de destilação de fábrica T são necessárias para criar o número de estados T necessários durante o tempo de execução do algoritmo?
Antes do final do algoritmo, a fábrica T pode ser invocada oito vezes, o que é chamado de rodada de destilação. Por exemplo, se você precisar de 30 estados T, uma única fábrica T será invocada oito vezes durante o tempo de execução do algoritmo e, portanto, criará oito estados T. Em seguida, você precisa de quatro cópias da rodada de destilação de fábrica T funcionando em paralelo para destilar os 30 estados T necessários.
Observação
Observe que as cópias de fábrica T e as invocações de fábrica T não são as mesmas.
As fábricas de destilação do estado T são implementadas em uma sequência de rodadas, onde cada rodada consiste em um conjunto de cópias de unidades de destilação funcionando em paralelo. O Avaliador de Recursos calcula quantos qubits físicos são necessários para executar uma fábrica T e por quanto tempo a fábrica T é executada, entre outros parâmetros necessários.
Você só pode fazer invocações completas de uma fábrica T. Portanto, pode haver situações em que o tempo de execução acumulado de todas as invocações de fábrica T é menor que o tempo de execução do algoritmo. Como os qubits são reutilizados por rodadas diferentes, o número de qubits físicos para uma fábrica T é o número máximo de qubits físicos usados para uma rodada. O tempo de execução da fábrica T é a soma do tempo de execução em todas as rodadas.
Observação
Se a taxa de erro da porta T física for menor do que a taxa de erro de estado T lógico necessária, o Avaliador de Recursos não poderá executar uma boa estimativa de recursos. Ao enviar um trabalho de estimativa de recursos, você pode descobrir que a fábrica T não pode ser encontrada porque a taxa de erro de estado T lógico necessária é muito baixa ou muito alta.
Para obter mais informações, consulte o Apêndice C de Avaliação de requisitos para escalar para vantagem quântica prática.