def METHOD_NAME(self):
    """test 3 qubit hamiltonian on non-consecutive bits"""
    qr = QuantumRegister(4)
    qc = QuantumCircuit(qr)
    qc.x(qr[0])
    matrix = Operator.from_label("XZY")
    theta = Parameter("theta")
    uni3q = HamiltonianGate(matrix, theta)
    qc.append(uni3q, [qr[0], qr[1], qr[3]])
    qc.cx(qr[3], qr[2])
    # test of text drawer
    self.log.info(qc)
    qc = qc.bind_parameters({theta: -np.pi / 2})
    dag = circuit_to_dag(qc)
    nodes = dag.multi_qubit_ops()
    self.assertEqual(len(nodes), 1)
    dnode = nodes[0]
    self.assertIsInstance(dnode.op, HamiltonianGate)
    self.assertEqual(dnode.qargs, (qr[0], qr[1], qr[3]))
    np.testing.assert_almost_equal(dnode.op.to_matrix(), 1j * matrix.data)