title: How to create unitary gate from np.array in qiskit?
body: <p>Hi all: Cirq offers a way to create a unitary gate from an array. I tried doing the same in Qiskit but have not been able to quite make it. Here is a sample code with what I could put together so far. Also, is there a way to apply the controlled operation with this unitary from q[0] to q[1] say? Or create a certain labeled gate for that purpose to be used in the circuit? If so, how? Thanks a lot!</p>
  
  <pre><code>from qiskit.extensions import *
  U2x2 = np.array([[0.998762, -0.049745], [-0.049745, -0.998762]])
  # Still not sure how to use this, though it compiles
  gate2x2 = UnitaryGate(U2x2)
  
  # The best I could do so far was this:
  # Create the quantum circuit
  q = QuantumRegister(2)
  c = ClassicalRegister(2)
  qc = QuantumCircuit(q, c)
  
  qc.unitary(U2x2, range(1))
  qc.measure(q[0], c[0])
  </code></pre>