Skip to main contentIBM Quantum Documentation
This page is from an old version of Qiskit SDK and does not exist in the latest version. We recommend you migrate to the latest version. See the release notes for more information.

Initialize

class Initialize(params)

GitHub

Complex amplitude initialization.

Class that implements the (complex amplitude) initialization of some flexible collection of qubit registers (assuming the qubits are in the zero state). Note that Initialize is an Instruction and not a Gate since it contains a reset instruction, which is not unitary.

Create new initialize composite.

params (list): vector of complex amplitudes to initialize to


Attributes

decompositions

Get the decompositions of the instruction from the SessionEquivalenceLibrary.

definition

Return definition in terms of other basic gates.

params

return instruction params.


Methods

add_decomposition

Initialize.add_decomposition(decomposition)

Add a decomposition of the instruction to the SessionEquivalenceLibrary.

assemble

Initialize.assemble()

Assemble a QasmQobjInstruction

broadcast_arguments

Initialize.broadcast_arguments(qargs, cargs)

Validation of the arguments.

Parameters

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

Yields

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

Raises

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

c_if

Initialize.c_if(classical, val)

Add classical condition on register classical and value val.

copy

Initialize.copy(name=None)

Copy of the instruction.

Parameters

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

Returns

a copy of the current instruction, with the name

updated if it was provided

Return type

qiskit.circuit.Instruction

gates_to_uncompute

Initialize.gates_to_uncompute()

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

Returns

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

Return type

QuantumCircuit

inverse

Initialize.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.)

Returns

a fresh instruction for the inverse

Return type

qiskit.circuit.Instruction

Raises

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

is_parameterized

Initialize.is_parameterized()

Return True .IFF. instruction is parameterized else False

mirror

Initialize.mirror()

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

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

Returns

a fresh gate with sub-gates reversed

Return type

qiskit.circuit.Instruction

qasm

Initialize.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];).

repeat

Initialize.repeat(n)

Creates an instruction with gate repeated n amount of times.

Parameters

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

Returns

Containing the definition.

Return type

qiskit.circuit.Instruction

Raises

CircuitError – If n < 1.

Was this page helpful?
Report a bug or request content on GitHub.