package kata
func AntiDiagonalUnitary(n int) [][]complex128 {
size := 1 << n
u := make([][]complex128, size)
for i := 0; i < size; i++ {
u[i] = make([]complex128, size)
u[i][size-1-i] = 1
}
return u
}
func ApplyAntiDiagonalUnitary(state []complex128) {
for i, j := 0, len(state)-1; i < j; i, j = i+1, j-1 {
state[i], state[j] = state[j], state[i]
}
}