Microsoft Liquid: как показать текущее квантовое состояние
Я программирую квантовые алгоритмы в Microsoft Liquid (F#). Для отладки было бы очень приятно увидеть текущее квантовое состояние.
Я могу использовать:
for q in qs do show "q[%d]=%s" q.Id (q.ToString())
где qs - мой список кубитов, но это работает, только если состояние не запутано.
Однако, если он запутан, есть ли способ просто показать текущее квантовое состояние, например:
ket = 1/sqrt(2)*[|00>+|11>]
1 ответ
Метод Ket.Dump выведет вектор состояния с хорошим форматированием на консоль:
qs.[0].Ket.Dump()
См. http://stationq.github.io/Liquid/docs/html/aecdd029-bf0a-3e8f-3c2b-348802584d85.htm и http://stationq.github.io/Liquid/docs/html/56e790bd-3150-17ca-adac-0b91ecf9ef7e.htm.