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>]

person mvdl1996    schedule 03.12.2017    source источник
comment
Я очень мало знаю о жидких или квантовых вычислениях, но меня заинтриговало использование платформы с корнями в платформе электронной коммерции для квантовых алгоритмов — есть ли что-нибудь, что стоит упомянуть в вашем посте об этом выборе технологии?   -  person PJTraill    schedule 06.12.2017


Ответы (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.

person Alan Geller    schedule 12.06.2018