def METHOD_NAME(self, operator, time, qubits, label=None):
    """Apply hamiltonian evolution to qubits.
    This gate resolves to a :class:`.UnitaryGate` as :math:`U(t) = exp(-i t H)`,
    which can be decomposed into basis gates if it is 2 qubits or less, or
    simulated directly in Aer for more qubits.
    Args:
        operator (matrix or Operator): a hermitian operator.
        time (float or ParameterExpression): time evolution parameter.
        qubits (Union[int, Tuple[int]]): The circuit qubits to apply the
            transformation to.
        label (str): unitary name for backend [Default: None].
    Returns:
        QuantumCircuit: The quantum circuit.
    Raises:
        ExtensionError: if input data is not an N-qubit unitary operator.
    """
    if not isinstance(qubits, list):
        qubits = [qubits]
    return self.append(HamiltonianGate(data=operator, time=time, label=label), qubits, [])