W-состояние на числе кубитов, равном степени двойки
Вход — $N=2^k$ кубитов в $|0\ldots0\rangle$. Напишите операцию на языке Q#, подготавливающую W-состояние: равную суперпозицию $N$ базисных строк длины $N$, в каждой из которых ровно одна единица.
Например, при $N=4$ требуется $(|1000\rangle+|0100\rangle+|0010\rangle+|0001\rangle)/2$.
Подсказка источника: модификатор Controlled позволяет выполнять произвольные управляемые операции.
Заготовка Q#:
namespace Kata {
operation WState_PowerOfTwo (qs : Qubit[]) : Unit is Adj + Ctl {
// Implement your solution here...
}
}