def METHOD_NAME(self, params, qubits=None, normalize=False):
    r"""Initialize qubits in a specific state.
    Qubit initialization is done by first resetting the qubits to :math:`|0\rangle`
    followed by calling :class:`qiskit.extensions.StatePreparation`
    class to prepare the qubits in a specified state.
    Both these steps are included in the
    :class:`qiskit.extensions.Initialize` instruction.
    Args:
        params (str or list or int):
            * str: labels of basis states of the Pauli eigenstates Z, X, Y. See
              :meth:`.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
              :math:`|1\rangle` and the qubit one to :math:`|0\rangle`.
            * list: vector of complex amplitudes to initialize to.
            * int: an integer that is used as a bitmap indicating which qubits to initialize
              to :math:`|1\rangle`. Example: setting params to 5 would initialize qubit 0 and qubit 2
              to :math:`|1\rangle` and qubit 1 to :math:`|0\rangle`.
        qubits (QuantumRegister or Qubit or int):
            * QuantumRegister: A list of qubits to be initialized [Default: None].
            * Qubit: Single qubit to be initialized [Default: None].
            * int: Index of qubit to be initialized [Default: None].
            * list: Indexes of qubits to be initialized [Default: None].
        normalize (bool): whether to normalize an input array to a unit vector.
    Returns:
        qiskit.circuit.Instruction: a handle to the instruction that was just initialized
    Examples:
        Prepare a qubit in the state :math:`(|0\rangle - |1\rangle) / \sqrt{2}`.
        .. code-block::
            import numpy as np
            from qiskit import QuantumCircuit
            circuit = QuantumCircuit(1)
            circuit.initialize([1/np.sqrt(2), -1/np.sqrt(2)], 0)
            circuit.draw()
        output:
        .. parsed-literal::
                 ┌──────────────────────────────┐
            q_0: ┤ Initialize(0.70711,-0.70711) ├
                 └──────────────────────────────┘
        Initialize from a string two qubits in the state :math:`|10\rangle`.
        The order of the labels is reversed with respect to qubit index.
        More information about labels for basis states are in
        :meth:`.Statevector.from_label`.
        .. code-block::
            import numpy as np
            from qiskit import QuantumCircuit
            circuit = QuantumCircuit(2)
            circuit.initialize('01', circuit.qubits)
            circuit.draw()
        output:
        .. parsed-literal::
                 ┌──────────────────┐
            q_0: ┤0                 ├
                 │  Initialize(0,1) │
            q_1: ┤1                 ├
                 └──────────────────┘
        Initialize two qubits from an array of complex amplitudes.
        .. code-block::
            import numpy as np
            from qiskit import QuantumCircuit
            circuit = QuantumCircuit(2)
            circuit.initialize([0, 1/np.sqrt(2), -1.j/np.sqrt(2), 0], circuit.qubits)
            circuit.draw()
        output:
        .. parsed-literal::
                 ┌────────────────────────────────────┐
            q_0: ┤0                                   ├
                 │  Initialize(0,0.70711,-0.70711j,0) │
            q_1: ┤1                                   ├
                 └────────────────────────────────────┘
    """
    if qubits is None:
        qubits = self.qubits
    elif isinstance(qubits, (int, np.integer, slice, Qubit)):
        qubits = [qubits]
    num_qubits = len(qubits) if isinstance(params, int) else None
    return self.append(Initialize(params, num_qubits, normalize), qubits)