Можно ли посылать кусочки массива кубитов в качестве параметров? Примерно так:
using(q : Qubit[5]){ myOp(q[2:3]); }
Да, Q # поддерживает разбиение массива: https://docs.microsoft.com/en-us/quantum/quantum-qr-expressions#array-expressions. Вы можете использовать тип данных Range в качестве индекса для создания подмассива элементов массива, проиндексированных элементами диапазона.
Range
Ваш пример будет выглядеть так:
using (q = Qubit[5]) { myOp(q[2..3]); }