\left[ \begin{array}{*{35}{l}}
   1 & {} & {} & {} & {} & {} & {} & {}  \\
   {} & -1 & {} & {} & {} & {} & {} & {}  \\
   {} & {} & 1 & {} & {} & {} & {} & {}  \\
   {} & {} & {} & 1 & {} & {} & {} & {}  \\
   {} & {} & {} & {} & -1 & {} & {} & {}  \\
   {} & {} & {} & {} & {} & 1 & {} & {}  \\
   {} & {} & {} & {} & {} & {} & -1 & {}  \\
   {} & {} & {} & {} & {} & {} & {} & 1  \\
\end{array} \right]
is the initial diagonalunitary matrix. \left[ \begin{array}{*{35}{l}}
   1 & {} & {} & {} & {} & {} & {} & {}  \\
   {} & -1 & {} & {} & {} & {} & {} & {}  \\
   {} & {} & -1 & {} & {} & {} & {} & {}  \\
   {} & {} & {} & -1 & {} & {} & {} & {}  \\
   {} & {} & {} & {} & -1 & {} & {} & {}  \\
   {} & {} & {} & {} & {} & 1 & {} & {}  \\
   {} & {} & {} & {} & {} & {} & -1 & {}  \\
   {} & {} & {} & {} & {} & {} & {} & 1  \\
\end{array} \right]
is the target diagonalunitary matrix. How can we ensure that each iteration produces a diagonalunitary matrix? End up with \left[ \begin{array}{*{35}{l}}
   1 & {} & {} & {} & {} & {} & {} & {}  \\
   {} & -1 & {} & {} & {} & {} & {} & {}  \\
   {} & {} & -1 & {} & {} & {} & {} & {}  \\
   {} & {} & {} & -1 & {} & {} & {} & {}  \\
   {} & {} & {} & {} & -1 & {} & {} & {}  \\
   {} & {} & {} & {} & {} & 1 & {} & {}  \\
   {} & {} & {} & {} & {} & {} & -1 & {}  \\
   {} & {} & {} & {} & {} & {} & {} & 1  \\
\end{array} \right].  That is, the output of each iteration step can be obtained as a diagonal unitary matrix according to the parameters. Is this trainable? Please show Dome.
I leave here the reference to the other conversation 