I need to implement a 2-qubit gate of the following form in qiskit (I've barely started using it, so I'm happy to try a different package if that's worth it)
$$ A(\vec c)=\prod_{j=1}^3[I\otimes I\cos(c_j/2)-i\sigma_j\otimes\sigma_j\sin(c_j/2)] $$
(this is taken from this paper https://arxiv.org/abs/1306.2811).
Perhaps qiskit is the wrong tool, but I've been trying to find something in the documentation, but I find it very difficult to parse. There is UnitaryGate https://qiskit.org/documentation/stubs/qiskit.extensions.UnitaryGate.html and Gate https://qiskit.org/documentation/stubs/qiskit.circuit.Gate.html#qiskit.circuit.Gate, but apart from saying that the function needs parameters, there isn't any more documentation.
There is also the UnitaryGate.power(x) which could be useful if I knew how to define say a function that returns a generic XX gate.
Yet another option could be to have a function that would take a matrix, such as
g = twoQubitGateFrom4-by-4Matrix( -- some 4x4 matrix that is the desired unitary -- )
Such that later I can apply it some where, e.g.,
myQuantumCircuit.g(3,5)
or even parameterized?
myQuantumCircuit.g(3,5,vecAlpha)