Механический квантовый компьютер

Квантовые компьютеры постепенно мигрировали от «натуральных» квантовых объектов типа ионов и quantum dots к «искусственным» объектам типа трансмонов, где роль атомных переходов выполняют собственные частоты колебаний LC контуров. К таким контурам прикручены коаксиальные кабели для возбуждения системы, считывания их состояния и регулирования их свойств. Они все еще являются квантовыми объектами и работают при низкой температуре.

Мне стало интересно, а можно ли создать прототип квантового компьютера на основе больших «классических» механических объектов. Я демонстрирую квантовый компьютер сделанный из связанных маятников.

Квантовые компьютеры

Квантовые компьютеры (КК) используют так называемые ку-биты, системы, в которых возможны множество состояний, представляющих комбинацию 2х исходных состояний α|0>+β|1>. В отличие от обычных цифровых компьютеров, мы можем воздействовать на исходные состояния одновременно.

Внешним воздействием можно достичь желаемого состояния ку-бита, а взаимодействие множества таких ку-битов позволит производить вычисления. Иногда утверждается, что принципиальным моментом (КК) является “квантовость”, т.е. во время вычислений мы имеем дело с неким неопределенными состояниями, и только при самом измерении мы получаем 0 или 1. Промежуточные значения в диапазоне от 0 до 1 получаются путем многократного выполнения эксперимента, где 0 или 1 выпадают в соответствии с некоторой вероятностью и конечный результат есть усреднение результатов всех экспериментов.

Мы покажем, что подобные результаты вполне достижимы и на макроскопических классических объектах и многие основные свойства КК могут быть продемонстрированы даже на механических объектах. Мы не будем обсуждать квантовую запутанность, которая принципиально применима только к квантовым объектам, роль квантовой запутанности в КК это отдельная история.

Двухуровневая квантовая система

Ку-биты основаны на особенных свойствах квантовых двухуровневых систем,  вне зависимости от того, атомные это переходы или искусственные системы типа трансмонов.

Двухуровневая квантовая система обладает рядом особенностей. Рассмотрим классическую атомную двухуровневую систему. Есть два уровня с различной энергией. Если система находится в состоянии с меньшей (нижней) энергией, мы можем облучить ее светом и с вероятностью A01 она перейдет в   верхнее состояние (поглощение). Если система находится в верхнем состоянии, то при облучении она перейдет в нижнее состояние с вероятностью A10 (вынужденная эмиссия). Как показал Эйнштейн A01=A10. В дальнейшем мы будем пренебрегать спонтанным распадом верхнего уровня и будем считать, что все переходы с верхнего уровня – вынужденные.

 

Fig.1. Двухуровневая система c частотой перехода ω01.

Если мы будем светить на такую систему непрерывно, она должна будет совершать переходы вверх-вниз. Этот так называемые осцилляции Раби. В квантовой механике говорят, что система находится в неопределенном состоянии, при измерении мы можем ее обнаружить ее в состоянии 0 или 1 с некой долей вероятностей. Так что мы говорим об осцилляции вероятностей.

Заметим, что частота Раби не является частотой перехода 0 – 1. Частота осцилляций Раби зависит от амплитуды воздействия и параметров системы. Интуитивно можно связать эти осцилляции с задержкой между воздействием и переходом. Например, чем больше амплитуда воздействия, или вероятность перехода тем “быстрее” произойдет переход, в некотором смысле это осцилляции в системе с обратной связью и задержкой.

Fig. 2. Вероятность перехода 0 – 1 при непрерывном возбуждении.

Пусть мы воздействуем на систему непрерывно с частотой перехода ω01, вероятность найти систему в состоянии |1> осциллирует с частотой ΩRabi. Как видно из рисунка 2 состояние системы зависит от того как долго мы систему облучали (длительность импульса)). Мы можем перевести из 0 в 1 (т.н. π импульс) или перевести систему в состояние суперпозиции, которая является “смесью” состояний 0 и 1 (π/2 импульс), что соответствует вероятности 0.5.  Мы можем потом подать еще один импульс и переключить систему еще раз. Если параметры системы и возбуждения не менялись, состояние системы после второго импульса не зависит от того сколько времени ΔT прошло между первым и вторым импульсом.

Если параметры системы или возбуждения немного изменились за время между импульсами, мы имеем дело с фазой. Это означает, что состояние системы через некоторое время меняется и, если мы будем, например, воздействовать вторым импульсом результат будет зависеть от того, сколько времени прошло между первым и вторым импульсом. В любом случаем мы всегда имеем дело с фазовым сдвигом относительно воздействия, это не “глобальная” фаза, в отсутствии взаимодействия с внешним полем она не имеет смысла.

Fig.3 a,b Эволюция системы после воздействия двумя π/2 импульсами. Если параметры возбуждения и системы не меняются (слева) то длительность ΔT не влияет на конечное состояние. Если возникла разница фаз между возбуждением и осцилляциями Раби, результат воздействие вторым импульсом зависит от времени (справа).

Все эти многочисленные состояния двухуровневой системы может быть описано с помощью так называемой сферы Блоха.

Нижний уровень соответствует северному полюсу, обозначим его как вектор [1 0] (нижний =1, верхний уровень =0,) или как состояние |0>. Южный полюс — это вектор [0 1] или |1>.  Состояние суперпозиции — это экватор, так как мы имеем дело с фазой, разные точки на экваторе соответствуют разной фазе, плоскость экватора соответствует полярному представлению с помощью комплексных чисел (z=x+i*y, z=cos(φ)+i*sin(φ)).

Fig.4. Сфера Блоха, графическое представление двухуровневой системы. Показаны 2 типа обозначения состояний. Северный полюс соответствует заполненному нижнему уровню, южный полюс соответствует заполненному верхнему уровню. Экватор — это суперпозиция состояний 0 и 1, где вклад уровней 1 и 2 одинаковый.

Тогда  первый π/2 импульс  из рис 3a на сфере Блоха выглядит как поворот на 90 градусов вокруг оси X. Второй π/2 импульс это еще один поворот на 90 градусов (эти 2 импульса эквиваленты одному π импульсу).вокруг оси х на 180 градусов:

Fig. 5. Два π/2 импульса соответствующие рисунку 3a. Первый импульс переводит систему из |0> в суперпозицию (экватор), второй – с экватора в состояние |1>. При условии неизменности параметров возбуждения и системы результат конечного состояния не зависит от задержки между импульсами.

Повороты вокруг оси Z соответствуют фазе. Чтобы получить эти фазовые сдвиги мы должны слегка изменить воздействие или систему после действия импульса 1. Если мы, например, переведем систему в состояние суперпозиции π/2 импульсом, и через некоторое время будем ее тестировать вторым π/2 импульсом, то результат будет зависеть от задержки между этими двумя π/2 импульсами, во время которого набегает некоторая разница фаз.

Fig. 6. Два π/2x импульса соответствующие рисунку 3b. За время ΔT набегает фазовый сдвиг, который влияет на конечный состояние после воздействия вторым π/2x импульсом. Если набег фазы составит ровно φ=π /2, второй импульс вообще не изменит состояние системы (радиус второго красного круга будет равен 0)

Суммируя, двухуровневая система может находиться в огромном количестве состояний (соответствующих любым точкам на сфере Блоха). Эти состояния контролируются возбуждающими внешними импульсами или модификацией самой системы.

Такая система называется кубитом.

Механическая двухуровневая система. Qubit 1.

Классические двухуровневые системы соответствуют атомным оптическим или микроволновым переходам.  На основе таких переходов первоначально и создавались кубиты. Однако, можно создать искусственную двухуровневую систему, обладающую подобными свойствами. Cовременные квантовые компьютеры строятся на основе т.н. трансмонов, это резонансные сверхпроводящее LC контуры GHz диапазона, эмулирующие двухуровневую систему. Размер их далеко не атомный, они имеют размеры 0.2-1мм.

Можно создать и механическую “классическую” систему обладающую свойствами похожими на двухуровневую систему. Такие системы описаны в литературе [пружины (arxiv), микрокамертоны (arxiv)]

Я буду исследовать механическую систему, состоящую из связанных маятников экспериментально, с помощью ее симуляции. Такой подход не использует никаких уравнений и соответствует эксперименту в реальном мире. При этом основной упор будет сделан на аналогии с кубитами в квантовых компьютерах.

Эта механическая система построена в Matlab Simulink. Там задаются механические части типа стержней, шариков, шарниров, пружин и.т.д. , описываются связи между ними. После чего запускается симуляция, которая позволяет рисовать движущимися некоторые части механической системы (стержни, шарики) и рисовать в виде графиков эволюцию желаемых параметров.

Моделируемые мятники соответствуют стержням длинной 20 см и радиусом 1 мм с шариками радиусом 1 см и плотностью 1000 kg/m3.  Вес такого шарика около 4 г.  Расстояние между маятниками 20 см и шарики связаны друг с другом пружиной такой же длины.

Состояние такой системы можно описывать как комбинация углов каждого из маятников φ1 и  φ2 но удобнее описывать эту систему в координатах Q0=φ1φ2 и Q1=φ1 –  φ2. Wiki: Pendulum_(mechanics)

Любое состояние маятников может быть представлено как комбинация двух типов колебаний, антисимметричного (Q0=max; Q1=0) и симметричного (Q0=0; Q1=мах). Первый тип имеет частоту равную частоте колебаний свободного маятника, так как при таких колебаниях компрессии пружины не происходит. Частота симметричных колебаний выше из-за сжатия пружинки.

 

Fig.7. Два типа колебаний связанных маятников. Между маятниками есть пружинка длиной равной расстоянию между маятниками, она не анимирована, так как MATLAB не умеет анимировать ничего кроме самих маятников. 

Итак, мы имеем имитацию нижнего уровня (Q1 =0; Q0=max, обозначим |0>) и верхнего уровня (Q1 = max; Q0 =0, обозначим |1>). Разница частот получилась Δγ=0.45 Hz.

Посмотрим, как мы можем возбуждать эту систему, чтобы переводить ее из состояния |0> в |1> (и обратно). Разумно предположить, что нам надо дергать один из шариков с некоторой периодической силой. По аналогии с квантовой двухуровневой системой частота воздействия должна соответствовать разнице частот между переходами, т.е. 0.45 Hz.

Возбуждение реализовано как действие периодической силы между левым шариком и опорой.

 

Fig.8 Модель возбуждения маятников. Нить, соединенная посредством пружины к левому шарику, двигается периодически. Это соответствует силе F=k*r*sin(ωt).

Под действием такой силы система переодически меняет тип своих колебаний (состояние) соответствующим описанным выше |0> и |1>

Fig.9  Графики (амплитуда Q0, амплитуда Q1, сила возбуждения (сверху-вниз)) Система находится в состоянии |0> , через ~5 сек мы начинаем периодически возбуждать систему как на Рис.8, частота возбуждения равна разнице частот между |0> и |1> (0.45Hz).

Система начинает осциллировать между состояниями |0> и |1>. (Состояние системы характеризуется амплитудами огибающих Q0 и Q1, сами колебания значения не имеют). Максимумы огибающей Q­0 соответствуют минимумам Q1 (и наоборот) это точки – чистые состояния |0> и |1>, северный и южный полюсы на сфере Блоха. Когда амплитуды огибающих Q0 и Q1 равны, состояние соответствует равному вкладу (суперпозиции) или экватору на сфере Блоха.

Это не что иное как аналог Раби осцилляций из Fig.2.

Если силу возбуждения увеличить (например, сделав пружинку k более жесткой, Fig.8), частота осцилляций Раби ожидаемо увеличится, как мы отмечали при обсуждении двухуровневой квантовой системы.

 

Fig.10 Раби осцилляции, когда сила возбуждения в 2 раза превосходит силу из Fig.9.

Посмотрим, как наш механический кубит реагирует на импульсы длительностью соответствующие π/2 фазе осцилляций Раби (Fig.2) .

Как и для двухуровневой системы, возбуждение должно быть когерентным, т.е. фаза и частота возбуждающего воздействия должны быть постоянными на все время эксперимента. Так что импульсы — это вырезанные в соответствующие моменты времени куски из непрерывного синусоидального воздействия такого как на Fig.10.

В полном согласии с поведением двухуровневой системы, первый (π/2) импульс переводит маятники в режим суперпозиции, где вклад от |0> и |1> (e.g. типов колебаний Q0 и Q1) одинаков. Система находится в этом состоянии пока мы не подадим еще один (π/2) импульс, который переведет систему в состояние |1>. Аналогичный конечный результат достигается и одним импульсом удвоенной длительности (π импульс). Так как возбуждающие импульсы соответствуют поворотам вокруг оси x, назовем их (π/2)x или (π)x.  Или, иначе, X1/2 и X gates, как принято их обозначать в мире квантовых компьютеров.

Fig.11. Реакция системы на два (π/2)x импульса. (π/2)x подаются путем гармонического силового воздействия на время ~2.5 сек способом, показанным на Fig. 8. Верхний график соответствует амплитуде колебаний Q0, средний – амплитуде Q1, нижний график – это сила приложенная к левому маятнику по схеме Fig. 8. 

Этот результат соответствует Fig. 3а.

Теперь посмотрим, как влияет разность фаз на результат точно такого же воздействия двумя (π/2)x импульсами. В этом случае мы меняем фазу во время состояния суперпозиции путем изменения коэффициента упругости пружинки, соединяющей маятники. Выберем время воздействия и изменение коэффициента упругости так, чтобы такой импульс приводил к повороту на 90 градусов относительно оси z.

Fig.12. Результат возбуждения двумя (π/2)x аналогичным Fig. 11, однако, в здесь мы еще изменяем упругость пружинки, соединяющей маятники (нижний график) на в момент t=10 сек на время 2.3 сек . Заметим, что тип колебания после воздействия такого импульса не меняется, однако конечное состояние системы после второго (π/2)x существенно отличается от предыдущего примера. Сверху-вниз амплитуда колебаний Q0, амплитуда Q1, импульсы возбуждения (π/2)x, коэффициент упругости пружинки, соединяющей маятники.

Это означает, что модуляцией упругости пружинки мы изменили фазу так, что на сфере Блоха перевели систему из состояния 1/√2(|0>-i|1>) в состояние 1/√2(|0>+|1>) и второй возбуждающий импульс не приводит к изменению состояния (радиус поворота вокруг оси x, что соответствует импульсам возбуждения, равен 0) .

Аналогично оси x, назовем поворот на 90 градусов относительно оси z: (π/2)z

Теперь изменим длительность импульса фазы (изменения упругости пружинки) в 2 раза.

В полном ожидании от поведения двухуровневой системы второй возбуждающий импульс переводит систему обратно в состояние |0>

.Fig. 13 Результат воздействия двух (π/2)x импульсов на систему в случае изменения фазового сдвига произведенного (π)z импульсом. (π)z импульс соответствует модуляции коэффициента упругости пружинки соединяющей маятники на время в два раза большее чем в предыдущем эксперименте (Fig. 12).

Итак, мы построили механическую систему, обладающую свойствами двухуровневой квантовой системы, и показали, что можем управлять такой системой путем ее возбуждения или изменениями свойств. Это аналогично поведению т.н. qubits (кубитов) в мире квантовых компьютеров.

Мы продемонстрировали управление системой (gates) с помощью т.н. X1/2, X, Z1/2 (or S), Z gates, соответствующие поворотам на 90, 180 вокруг оси x,  и 90, 180 вокруг z. Или в матричной форме:

Двух-кубитная система

Теперь мы перейдем к тому, что уже может считаться квантовым компьютером. Системе из двух кубитов.

Каждый из кубитов, как и ранее состоит из двух маятников, соединенных пружинкой. Но мы можем заставить их взаимодействовать с помощью еще одной пружины, подключаемой на короткое время.

Fig. 14. Два связанных кубита. Две пары связанных маятников с возможностью связи между ними при помощи пружины связи.

Мы можем подобрать длительность обмена и упругость пружинки, например так, чтобы состояние qubit0 передавалось на qubit1 и наоборот.

Это совершенно фантастический результат! Каким бы сложным ни было колебание маятников из кубита0 оно передастся маятникам из кубита1 (и наоборот).

Рассмотрим эксперимент, где, например, кубит0 находится в состоянии |0> а кубит1 в состоянии |1>.

.Fig.15 Две пары маятников (кубитов) соединяются в момент t=10 сек на время 4.5 сек пружиной с коэффициентом упругости 0.05 N/m (в два раза меньше чем упругость пружинок в кубитах). Состояние |0> кубита0 становится состоянием кубита1, а состояние |1> кубита1 становится состоянием кубита0. Т.е. кубиты обменялись своими состояниями.

Состояния могут быть абсолютно любыми точками на сфере Блоха, они в точности (до фазы, см. далее) передадутся друг другу.
Для наглядности наложим друг на друга результаты двух экспериментов: маятники первого кубита стартуют в положениях (00,100) и (00,-100), а второго кубита в положении (-100,00). Все эти состояния соответствуют равным амплитудам Q0 и Q1 (суперпозиция) и соответствуют разным точкам на экваторе сферы Блоха.

Fig. 16 Обмен состояниями находящимися на экваторе сферы Блоха (Q0=Q1) между кубитами, наложены результаты двух экспериментов с разными начальными состояниями кубита0.

Мы можем определить фазу состояний по результатам воздействия (π/2)x импульсов, подобно тому как мы делали в экспериментах Fig. 11-13.
В результате мы найдем, что фаза изменяется на π обмен состояниями выгладит так на сферах Блоха:Fig. 17 Обмен состояниями между кубитами.

Состояниями, которыми можно характеризовать систему из 2х кубитов, являютсябазовые состояния.

Тогда наше взаимодействие 2х связанных маятников приводит к преобразованиям |00>⇒|00>, |01> ⇒ -|10>, |10>⇒-|01>, |11>⇒|11>

Это соответствует матрице:

Любые другие состояния выражаются через базовые состояния, например:

пусть начальное состояние кубита0 будет 1/√2*(|0>-i|1>)  (см. Fig.4), а кубита 1, например, |0>,

Тогда исходное состояние запишется как 1/√2*(|0>-i|1>)|0>=1/√2*|00>-1/√2*i*|10>

После воздействия соединительной пружинкой в соответствии с нашей матрицей преобразования мы напишем

1/√2*|00>-1/√2*i*|10>  ⇒ 1/√2*|00>+1/√2*i*|01>=|0>(1/√2(|0>+i|1>))),

Конечным состоянием кубита0 становится |0>, а конечным состоянием кубита1 становится  1/√2*(|0>+i|1>) (т.е. начальное состояние кубита0 но с фазовым сдвигом 180o)

Нетрудно заметить, что наша матрица — это произведение, соответствующих iSWAP gate and SWAP gate для двухкубитной системы, или, назовем ее iSWAP2.

Алгоритм Дойча

Для демонстрации превосходства КК перед классическими компьютерами часто рассматривают т.н. алгоритм Дойча-Хоса. Вот, например, реализация этого алгоритма на КК где кубитами являются атомные переходы Nature (sci-hub) или  quantum dots PhysRev  (sci-hub).

Задача заключается в определении является ли некоторая функция сбалансированной или нет. Сбалансированной функцией называется функция, которая возвращает f(x)=x или f(x)=not(x); функция является несбалансированной, если f(x)=0 или f(x)=1. Классическому компьютеру потребуется 2 операции для перебора x=0 и x=1.

КК может это сделать за одну операцию. Для этого мы производим действия с суперпозицией ½(|0>+|1>), т.е. одновременно и с x=0 и x=1.

Суть сводится к следующему. Мы делаем 4 черных ящика, внутри которых находится реализация 4-х вариантов функции для f(x): a) f(x)=0, b) f(x)=1, c) f(x)=x, d) f(x)=not(x). Две первых являются несбалансированными, а две последние сбалансированными. Эти черные ящики выполняют операцию y⊕f(x), где x это состояние первого кубита, а y – состояние второго кубита, а ⊕ обозначает операцию CNOT (controlled not gate) между двумя кубитами.

Вот реализация этих черных ящиков:

Fig. 18  Реализация черных ящиков для 4-х типов функций (см).

Подставляем эти черные ящики в некоторую систему из 2-х кубитов и сразу получаем, что ящики с функциями с) и d) возвращают результат |1>, а a) и b) возвращают результат |0>. Задача решена.

Рис. 19 Реализация алгоритма Дойча, Оракл Uf содержит черные ящики с реализацией функции y⊕f(x)

Если отвлечься от обычной в таких случаях математики, ключевым моментом является следующее свойство:
пусть есть 2 кубита.
1й кубит находится в состоянии 1/√2(|0>+|1>), а 2й кубит находится в состоянии 1/√2(0>-|1>).
Если выполнить операцию CNOT между кубитом 0 и 1, состояние кубита0 изменит фазу на π  .

Рис. 20 Если кубит1 находится в состоянии 1/√2(0>-|1>), то CNOT (0,1) приводит к изменению фазы кубита 0 на 180 градусов.

А дальше мы легко можем определить был ли поворот фазы или нет, применив оператор H.

Оператор H (Hadamard gate) соответствует вращению вокруг оси [1 0 1] . По ряду причин он очень удобен, например, двукратное применение этого оператора приводит к исходному состоянию.

Если фаза не менялась и состояние осталось 1/√2(|0>+|1>), то применение Hadamard gate приведет систему в состояние |0>, Если фаза изменилась на π и состояние стало 1/√2(|0>-|1>), то применение H  приведет систему в состояние |1>

Fig. 21 a) H gate примененный к 1/√2(|0>+|1>) приводит кубит в состояние |0> ,  b) H gate примененный к 1/√2(|0>-|1>) приводит кубит в состояние |1>.

Итак, нам надо, чтобы черный ящики с несбалансированными функциями фазу не меняли, а сбалансированные делали поворот фазы. Тогда после H, несбалансированные функции, которые не трогали |x> дадут результат |0>, а сбалансированные функции, которые использовали |x> и изменили его фазу на 180о дадут результат |1>

В этом и заключается тайный трюк этого алгоритма: реализация несбалансированных черных ящиков заключается в том, что состояние кубита 0 вообще не используется, так как функция f(x) просто константа, а обе сбалансированные функции требуют CNOT которые меняют фазу кубита 0 (см рис.). И далее, соответственно, приводит к |1> после H gate.  Как только вовлекается состояние |x>, взаимодействие со вторым кубитом изменяет |x>, что мы и детектируем.

При этом нас совсем не интересует что происходит с кубитом 1, и полезным результатом является изменение состояния изначальной переменной x (кубит 0).

Модифицированный алгоритм Дойча для нашего механического КК.

Ранее мы продемонстрировали iSWAP2 gate для наших двух механических кубитов. Наверное, можно найти способ связать 2 наших механических кубита так, чтобы осуществлялась CNOT gate. Однако, мы можем решить задачу об определении сбалансированности функции даже и с нашим iSWAP2 gate.

Для этого, следуя логике Дойтч алгоритма, мы построим черные ящики для 4-х типов функций, аналогично Рис 18.

Fig. 22. Реализация черных ящиков для модифицированного алгоритма Дойча. a) и b) соответствуют несбалансированным функциям f(x)=0 и f(x)=1, а c) и d) сбалансированным f(x)=x и f(x)=not(x).

Если не обращать внимания на тонкости, типа обратимости вычислений, мы можем использовать X gates вместо H gates и тогда мы имеем все, чтобы реализовать этот алгоритм для нашего 2-х кубитного механического квантового компьютера.

Рис. 23. Реализация iSWAP2 алгоритма

Для примера рассмотрим пошагово выполнение алгоритма для 2х случаев: с) f(x)=x и a) f(x)=0 (из fig. 22)

Fig. 24. Последовательность выполнения алгоритма для f(x)=x. Результатом является |1>, функция сбалансированная.

Fig. 25. Последовательность выполнения алгоритма для f(x)=0. Результатом является |0>, функция несбалансированная

И мы можем его выполнить на нашем механическом компьютере.

Fig. 26. Эксперимент с cбалансированной функцией, соответствующей Fig. 22 (c) и Fig. 24.  X1/2 на 1й сек и 25й сек обозначает воздействие (π/2)x импульсом, как на Fig.8 и Fig.11.  iSWAP2 экспериментально соответствует соединению маятников пружинкой (как на fig.14) на 10й сек.

Fig. 27. Эксперимент с неcбалансированной функцией, соответствующей Fig. 22 (а) и Fig. 24. X1/2 на 1й сек и 25й сек обозначает воздействие (π/2)x импульсом, как на Fig.8 и Fig.11. X3/2 обозначает воздействию импульсом длительностью 3*π/2 на 10й сек.

Задача о сбалансированных функциях очень простая, можно придумать огромное количество аналоговых систем, которые легко решают эту задачу. Тем не менее мы формально продемонстрировали, что наш механический квантовый компьтер может выполнять операции, часто используемые для демонстрации работы “настоящих” квантовых компьтеров.

Выводы

Мы показали, что на механической классической системе можно воспроизвести многие основные свойства квантовых компьютеров и даже выполнили некоторый алгоритм, который часто используется для демонстрации квантовых КК.

Я попытался максимально просто продемонстрировать базовые свойства КК, и пояснить как они работают.

По сути КК это универсальные аналоговые компьютеры, существует огромное количество задач, которые решаются быстрее на аналоговых компьютерах. Хотя, в общем, больших прорывов тут пока нет и, на мой взгляд, не предвидятся.