Skip to main content
IBM Quantum Platform

Optimize1qGates

class qiskit.transpiler.passes.Optimize1qGates(*args, **kwargs)

GitHub

Bases: TransformationPass

Otimize cadeias de portas de um único qubit u1, u2, u3 combinando-as em uma única porta.

Optimize1qGates inicializador.

Parâmetros

  • basis (list[str]) – Portas básicas a serem consideradas, por exemplo, [‘u3’, 'cx']. Para os efeitos dessa passagem, a base é a interseção do conjunto entre o parâmetro da base e o conjunto {‘u1’,’u2’,’u3’, ‘u’, ‘p’}.
  • eps (float) – EPS para verificação
  • target (Target) – O Target que representa o backend de destino; se ambos basis e target forem especificados, esse argumento terá precedência e basis será ignorado.

Atributos

is_analysis_pass

Verificar se o passe é um passe de análise.

Se a passagem for um AnalysisPass,, isso significa que a passagem pode analisar o DAG e escrever os resultados dessa análise no conjunto de propriedades. As modificações no DAG não são permitidas por esse tipo de passe.

is_transformation_pass

Verificar se o passe é um passe de transformação.

Se a passagem for um TransformationPass,, isso significa que a passagem pode manipular o DAG, mas não pode modificar o conjunto de propriedades (mas pode ser lido).


Métodos

compose_u3

static compose_u3(theta1, phi1, lambda1, theta2, phi2, lambda2)

GitHub

Retorna uma tripla theta, phi, lambda para o produto.

u3(theta, phi, lambda)

= u3(theta1, phi1, lambda1).u3(theta2, phi2, lambda2 ) = Rz( phi1 ).Ry( theta1 ).Rz( lambda1+phi2 ).Ry( theta2 ).Rz( lambda2 ) = Rz( phi1 ).Rz(phi').Ry(theta').Rz(lambda').Rz( lambda2 ) = u3(theta’, phi1 + phi', lambda2 + lambda')

Retorna theta, phi, lambda.

execute

execute(passmanager_ir, state, callback=None)

GitHub

Executar a tarefa de otimização para a entrada Qiskit IR.

Parâmetros

  • passmanager_ir (Any) – Qiskit IR para otimizar.
  • state (PassManagerState) – Estado associado à execução do fluxo de trabalho pelo próprio gerenciador de passes.
  • callback (Callable | None) – Uma função de retorno de chamada que é chamada a cada execução da tarefa de otimização.

Retorna

Qiskit IR otimizado e estado do fluxo de trabalho.

Tipo de retorno

tupla [ Any, PassManagerState ]

name

name()

GitHub

Nome do passe.

Tipo de retorno

str

run

run(dag)

GitHub

Execute o passe Optimize1qGates no dag.

Parâmetros

dag (DAGCircuit) – o DAG a ser otimizado.

Retorna

o DAG otimizado.

Tipo de retorno

DAGCircuit

Aumentos

TranspilerError - se os ângulos YZY e ZYZ não fornecerem a mesma matriz de rotação.

update_status

update_status(state, run_state)

GitHub

Atualizar o status do fluxo de trabalho.

Parâmetros

  • state (PassManagerState) – Passar o estado do gerenciador para atualizar.
  • run_state (RunState) – Status de conclusão da tarefa atual.

Retorna

Estado do gerenciador de passes atualizado.

Tipo de retorno

PassManagerState

yzy_to_zyz

static yzy_to_zyz(xi, theta1, theta2, eps=1e-09)

GitHub

Expresse uma porta de qubit único Y.Z.Y como uma porta Z.Y.Z.

Resolva a equação

Ry( theta1 ).Rz(xi).Ry( theta2 ) = Rz(phi).Ry(theta).Rz(lambda)

para theta, phi e lambda.

Retorna uma solução theta, phi e lambda.

Esta página foi útil?
Relate um bug, erro de digitação ou solicite conteúdo no GitHub.