Initialize#

class qiskit.extensions.Initialize(params, num_qubits=None, normalize=False)[fuente]#

Bases: Instruction

Complex amplitude initialization.

Class that initializes some flexible collection of qubit registers, implemented by calling the qiskit.extensions.StatePreparation Class. Note that Initialize is an Instruction and not a Gate since it contains a reset instruction, which is not unitary.

Create new initialize composite.

Parámetros:
  • params (str, list, int or Statevector) –

    • Statevector: Statevector to initialize to.

    • list: vector of complex amplitudes to initialize to.

    • string: labels of basis states of the Pauli eigenstates Z, X, Y. See Statevector.from_label(). Notice the order of the labels is reversed with respect to the qubit index to be applied to. Example label “01” initializes the qubit zero to \(|1\rangle\) and the qubit one to \(|0\rangle\).

    • int: an integer that is used as a bitmap indicating which qubits to initialize to \(|1\rangle\). Example: setting params to 5 would initialize qubit 0 and qubit 2 to \(|1\rangle\) and qubit 1 to \(|0\rangle\).

  • num_qubits (int) – This parameter is only used if params is an int. Indicates the total number of qubits in the initialize call. Example: initialize covers 5 qubits and params is 3. This allows qubits 0 and 1 to be initialized to \(|1\rangle\) and the remaining 3 qubits to be initialized to \(|0\rangle\).

  • normalize (bool) – Whether to normalize an input array to a unit vector.

Attributes

condition_bits#

Get Clbits in condition.

decompositions#

Get the decompositions of the instruction from the SessionEquivalenceLibrary.

definition#

Return definition in terms of other basic gates.

duration#

Get the duration.

label#

Return instruction label

name#

Return the name.

num_clbits#

Return the number of clbits.

num_qubits#

Return the number of qubits.

params#

Return initialize params.

unit#

Get the time unit of duration.

Methods

add_decomposition(decomposition)#

Add a decomposition of the instruction to the SessionEquivalenceLibrary.

assemble()#

Assemble a QasmQobjInstruction

broadcast_arguments(qargs, cargs)[fuente]#

Validation of the arguments.

Parámetros:
  • qargs (List) – List of quantum bit arguments.

  • cargs (List) – List of classical bit arguments.

Campos:

Tuple(List, List) – A tuple with single arguments.

Muestra:

CircuitError – If the input is not valid. For example, the number of arguments does not match the gate expectation.

c_if(classical, val)#

Set a classical equality condition on this instruction between the register or cbit classical and value val.

Nota

This is a setter method, not an additive one. Calling this multiple times will silently override any previously set condition; it does not stack.

copy(name=None)#

Copy of the instruction.

Parámetros:

name (str) – name to be given to the copied circuit, if None then the name stays the same.

Devuelve:

a copy of the current instruction, with the name updated if it was provided

Tipo del valor devuelto:

qiskit.circuit.Instruction

gates_to_uncompute()[fuente]#

Call to create a circuit with gates that take the desired vector to zero.

Devuelve:

circuit to take self.params vector to \(|{00\ldots0}\rangle\)

Tipo del valor devuelto:

QuantumCircuit

inverse()#

Invert this instruction.

If the instruction is composite (i.e. has a definition), then its definition will be recursively inverted.

Special instructions inheriting from Instruction can implement their own inverse (e.g. T and Tdg, Barrier, etc.)

Devuelve:

a fresh instruction for the inverse

Tipo del valor devuelto:

qiskit.circuit.Instruction

Muestra:

CircuitError – if the instruction is not composite and an inverse has not been implemented for it.

is_parameterized()#

Return True .IFF. instruction is parameterized else False

qasm()#

Return a default OpenQASM string for the instruction.

Derived instructions may override this to print in a different format (e.g. measure q[0] -> c[0];).

Obsoleto desde la versión 0.25.0: The method qiskit.circuit.instruction.Instruction.qasm() is deprecated as of qiskit-terra 0.25.0. It will be removed no earlier than 3 months after the release date. Correct exporting to OpenQASM 2 is the responsibility of a larger exporter; it cannot safely be done on an object-by-object basis without context. No replacement will be provided, because the premise is wrong.

repeat(n)#

Creates an instruction with gate repeated n amount of times.

Parámetros:

n (int) – Number of times to repeat the instruction

Devuelve:

Containing the definition.

Tipo del valor devuelto:

qiskit.circuit.Instruction

Muestra:

CircuitError – If n < 1.

reverse_ops()#

For a composite instruction, reverse the order of sub-instructions.

This is done by recursively reversing all sub-instructions. It does not invert any gate.

Devuelve:

a new instruction with

sub-instructions reversed.

Tipo del valor devuelto:

qiskit.circuit.Instruction

soft_compare(other)#

Soft comparison between gates. Their names, number of qubits, and classical bit numbers must match. The number of parameters must match. Each parameter is compared. If one is a ParameterExpression then it is not taken into account.

Parámetros:

other (instruction) – other instruction.

Devuelve:

are self and other equal up to parameter expressions.

Tipo del valor devuelto:

bool

validate_parameter(parameter)#

Instruction parameters has no validation or normalization.