OneQubitEulerDecomposer
class qiskit.synthesis.OneQubitEulerDecomposer(basis='U3', use_dag=False)
Bases: object
Uma classe para decompor unitários de 1 qubit em rotações de ângulo de Euler.
A decomposição resultante é parametrizada por 3 parâmetros de ângulo de rotação de Euler , e um parâmetro de fase . O valor dos parâmetros de uma unidade de entrada depende da base da decomposição. As bases permitidas e os circuitos resultantes são mostrados na tabela a seguir. Observe que, para as bases que não são de Euler ( , , ), são usados os parâmetros de Euler do .
Base | Base do ângulo de Euler | Circuito de decomposição |
|---|---|---|
| zYZ | ||
| 'ZXZ' | ||
| 'XYX' | ||
| 'XZX' | ||
| ‘U3’ | ||
| ‘U321’ | ||
| 'U' | ||
| "PSX | ||
| "ZSX | ||
| 'ZSXX' | ou | |
| ‘U1X’ | ||
| "RR |
__call__
__call__(unitary, simplify=True, atol=1e-12)
Decomponha a porta de um único qubit em um circuito.
Parâmetros
- unitary (Operator |Gate | np.ndarray) – matriz unitária de 1 qubit
- simplify (bool) – reduzir a contagem de portas na decomposição [Padrão: True].
- atol (float) – tolerância absoluta para verificar os ângulos ao simplificar o circuito retornado [Padrão: 1e-12].
Retorna
o circuito de porta de um único qubit decomposto
Tipo de retorno
Aumentos
QiskitError - se a entrada for inválida ou a síntese falhar.
Inicializar o decompositor
As bases suportadas são: 'U', 'PSX', 'ZSXX', 'ZSX', 'U321', 'U3', 'U1X', 'RR', 'ZYZ', 'ZXZ', 'XYX', 'XZX'.
Parâmetros
- basis (str) – a base de decomposição [Padrão:
'U3'] - use_dag (bool) – Se for verdadeiro, o resultado das chamadas ao decompositor será um objeto
DAGCircuitem vez de um objetoQuantumCircuit.
Aumentos
QiskitError - Se a base de entrada não for reconhecida.
Atributos
basis
A base de decomposição.
Métodos
angles
angles(unitary)
Retorna os ângulos de Euler para a matriz de entrada.
Parâmetros
unitary (ndarray) – matriz unitária.
Retorna
(theta, phi, lambda).
Tipo de retorno
angles_and_phase
angles_and_phase(unitary)
Retorna os ângulos de Euler e a fase da matriz de entrada.
Parâmetros
unitary (ndarray) –
Retorna
(theta, phi, lambda, phase).
Tipo de retorno
build_circuit
build_circuit(gates, global_phase)
Retorna o objeto de circuito ou dag de uma lista de portas.
Tipo de retorno