LayerNoiseLearningOptions
class LayerNoiseLearningOptions(max_layers_to_learn=Unset, shots_per_randomization=Unset, num_randomizations=Unset, layer_pair_depths=Unset)
Bases: object
Opções para aprender o ruído da camada. Isso é usado somente pelo V2 Estimator.
Essas opções são usadas somente quando o nível de resiliência ou as opções especificam uma técnica que requer aprendizado de ruído de camada.
O número total de circuitos exclusivos implementados para aprender o ruído de uma única camada depende apenas de layer_pair_depths e num_randomizations. Por exemplo, se layer_pair_depths contiver seis profundidades e num_randomizations for definido como 32, o estágio de aprendizado de ruído executará um total de 6 * 9 circuitos exclusivos por camada, cada um com 32 randomizações (em shots_per_randomization cada).
O número 9 acima é o número de circuitos exclusivos que precisam ser implementados para conhecer o ruído de todos os subsistemas de dois qubits na camada determinada, realizando medições locais. De fato, aprender o ruído de um único desses subsistemas requer a medição de todos os 16 dois-qubit Paulis nesse subsistema. Aproveitando as relações de comutação para medir mais de um desses Paulis (por exemplo, XI, IX e XX) com um único circuito, é possível medir todos esses Paulis 16 implementando apenas circuitos 9 . A paralelização dessas tarefas de medição da maneira ideal permite medir o 16 Paulis para todos os subsistemas de dois qubits da camada com apenas 9 circuitos. Mais detalhes na Ref. [1].
Referências
- E. van den Berg, Z. Minev, A. Kandala, K. Temme, Probabilistic error cancellation with sparse Pauli-Lindblad models on noisy quantum processors, Nature Physics volume 19, pages 1116-1121 (2023). arXiv:2201.09866 [quant-ph]
Atributos
Parâmetros
- max_layers_to_learn (UnsetType | int | None)
- shots_per_randomization (UnsetType | int)
- num_randomizations (UnsetType | int)
- layer_pair_depths (UnsetType | list[int])
layer_pair_depths
Tipo: UnsetType | list[int]
Valor Padrão: Unset
As profundidades do circuito (medidas em número de pares) a serem utilizadas nas experiências de aprendizagem.
Os pares são utilizados como unidade porque aproveitamos a natureza de " order-2 " (semelhante atrai semelhante) de nossas portas de entrelaçamento na implementação do aprendizado com ruído. Um valor de 3 corresponderia a 6 camadas da camada em questão, por exemplo.
Padrão: (0, 1, 2, 4, 16, 32).
max_layers_to_learn
Tipo: UnsetType | int | None
Valor Padrão: Unset
O número máximo de camadas distintas a serem aprendidas.
O None valor indica que não há limite. Se houver mais camadas únicas presentes, algumas delas não serão identificadas nem mitigadas. As camadas aprendidas são priorizadas com base no número de vezes que ocorrem em um conjunto de PUBs do Estimador executados e, no caso de camadas com ocorrência igual, são posteriormente classificadas pelo número de portas de dois qubits na camada.
Padrão: 4.
num_randomizations
Tipo: UnsetType | int
Valor Padrão: Unset
O número de circuitos aleatórios a serem utilizados por configuração de circuito de aprendizagem.
Uma configuração consiste na base de medição e na definição da profundidade. Por exemplo, se o seu experimento tiver seis níveis de profundidade, definir esse valor como 32 resultará em um total de 32 * 9 * 6 circuitos que precisam ser executados (onde 9 é o número de circuitos que precisam ser implementados para medir todas as observáveis necessárias; consulte a nota na string de documentação LayerNoiseLearningOptions de para obter mais detalhes), em shots_per_randomization cada um.
Padrão: 32.
shots_per_randomization
Tipo: UnsetType | int
Valor Padrão: Unset
O número total de tentativas a serem utilizadas por circuito de aprendizado aleatório.
Um circuito de aprendizagem é um circuito aleatório com uma profundidade de aprendizagem específica e uma base de medição específica, executado em hardware.
Padrão: 128.