qgrad_qutip.Unitary¶
-
class
qgrad_qutip.Unitary(N)¶ Class for an \(N \times N\) parametrized unitary matrix \(U(N)\)
Unitary \(U(N)\) is constructed using the following scheme
\[U(N) = D\prod_{i=2}^{N}\prod_{j=1}^{i-1}R^{'}_{ij}\]where \(D\) is a diagonal matrix, whose elements are \(e^{i\omega{j}}\) and \(R_{ij}^{'}\) are rotation matrices (available via _make_rot) where \(R_{ij}\) is an \(N\)-dimensional identity matrix with the elements \(R_{ii}, R_{ij}, R_{ji}\) and \(R_{jj}\) replaced as follows:
\[\begin{split}\begin{pmatrix} R_{ii} & R_{ij} \\ R_{ji} & R_{jj} \end{pmatrix} = \begin{pmatrix} e^{i\phi_{ij}}cos(\theta_{ij}) & -e^{i\phi_{ij}}sin(\theta_{ij}) \\ sin(\theta_{ij}) & cos(\theta_{ij}) \end{pmatrix}\end{split}\]and \(R_{ij}^{'} = R(-\theta_{ij}, -\phi_{ij})\)
Ref: Jing, Li, et al. “Tunable efficient unitary neural networks (eunn) and their application to rnns.” International Conference on Machine Learning. 2017.
- Parameters
N (int) – Dimension of the unitary matrix
-
__init__(N)¶ Initialize self. See help(type(self)) for accurate signature.
Methods
__init__(N)Initialize self.