Глобальный международный проект свободного доступа к квантовым компьютерам IBM Quantum Experience

№ 7’2018
PDF версия
Сегодня в таких областях, как программно-определяемые радиосистемы (SDR), высокоточные системы позиционирования GNSS, разработки современных высокоточных РЛС и их комплектующих, современные криптографические системы высокого класса устойчивости, разработки новых материалов и лекарственных препаратов, и других аналогичных приложениях необходимы крайне сложные математические модели. Реализовать их позволяет новый тип вычислительных устройств — квантовые компьютеры. Для продвижения разработок в этом направлении концерн IBM создал облачную платформу и программное обеспечение, предоставляющее любому пользователю возможность бесплатно подключиться к квантовым компьютерам с помощью стандартного ПК.

Введение

В настоящее время в радиоэлектронике все больше применяются методы математического моделирования. Так, в программно-определяемых радиосистемах (Software-defined radio, SDR) применяется метод подгонки образа сигнала приемника под математическую модель сигнала беспроводной связи определенного стандарта. Точные системы позиционирования требуют специальных математических методов для обработки сигналов. Разработки современных высокоточных РЛС и их комплектующих невозможны без сложных математических моделей. Проблемы современной криптографии также предполагают использование крайне сложной математики, основанной на переборке больших массивов данных и разложении на простые числа.

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

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

Поэтому в конце 80‑х годов прошлого века возникла идея использования физических процессов микромира для моделирования сложных многочастичных систем.

Концепция квантовых вычислений была независимо предложена Юрием Маниным и Ричардом Фейнманом в начале 1980-х годов [1].

Знаменитый физик Ричард Фейнман предложил использовать ядерно-физический эксперимент в программно-аппаратном, квантово‑механическом устройстве, управляемом с помощью классического компьютера с двоичной логикой. Такое устройство предлагалось для создания вероятностных моделей систем с множеством возможных состояний. Позднее этот прибор получил название «квантовый компьютер» (quantum computer, QC).

В настоящее время проектированием квантовых компьютеров занимается достаточно много фирм во всем мире.

Одним из пионеров в разработках квантового компьютера стала корпорация IBM, которая в 2001 году заявила об испытаниях прототипа QC с квантовым регистром на базе ЯМР. Постепенно из чисто научных проектов квантовые компьютеры начинают превращаться в реальные системы. Свои коммерческие проекты по выпуску квантового криптографического оборудования анонсировали швейцарская фирма ID Quantique [2] и американская MagiQ Technologies [3]. Несомненный интерес представляет деятельность канадской фирмы D Wave, направленная на создание адиабатического компьютера [4].

Интенсивные разработки квантовых компьютеров проводятся в университетах и научных центрах всего мира — например, Leopold-Franzens-Universitat Innsbruck, Kyoto University, Oxford University, University of Calgary, Wuhan University, University of Groningen, Jülich Supercomputing Centre, National Laboratory for Quantum Information Sciences in Hefei и других научных центрах [5, 6, 7, 8].

Следует особо отметить разработки в области квантовых компьютеров российских ученых. В ходе Международной квантовой конференции, проходившей в Москве в 2017 году, российский ученый, профессор Гарвардского университета и сооснователь Российского квантового центра Михаил Лукин представил самый мощный на сегодня 51‑кубитный квантовый компьютер [9].

Рассмотрение всех известных проектов квантовых компьютеров выходит за рамки данной статьи.

В следующих разделах мы ограничимся кратким обзором глобального международного проекта IBM Q Network, реализованного концерном IBM, который позволяет каждому человеку в любой точке мира, где есть Интернет, с помощью собственного ПК или ноутбука подключиться к квантовому компьютеру IBM и на его базе создавать конкретные проекты.

 

Открытый проект IBM Quantum Experience

В настоящее время концерн IBM является одним из мировых лидеров, принимающих участие в разработке, проектировании и изготовлении квантовых компьютеров. Сегодня в научно-исследовательских центрах IBM функционируют квантовые компьютеры с 5, 16 и 20 квантовыми вычислительными ячейками (кубитами). В процессе создания находится квантовый процессор с 50 кубит [11].

Учитывая безграничные возможности нового направления, концерн IBM принял решение привлечь к этим перспективным разработкам компьютеров будущего максимальное количество фирм и энтузиастов со всего мира. В рамках проекта Quantum Experience предоставляется бесплатный, открытый и свободный доступ к квантовому компьютеру (QC) концерна IBM любому желающему, зарегистрировавшемуся на сайте концерна [12].

Пользователям предоставляется возможность работы с облачной средой IBM Quantum Experience (QX), которая позволяет любому человеку во всех странах, где есть выход в Интернет, свободно подключиться к квантовому процессору IBM с помощью своего обычного компьютера, ноутбука или смартфона [13].

Зарегистрировавшись на сайте IBM, можно использовать базовые алгоритмы квантовых вычислений и экспериментировать с 5, 16 и 20 кубит квантового процессора IBM.

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

В классическом компьютере предусмотрена двоичная логика (0 или 1). В отличие от обычного квантовый компьютер использует в своих вычислениях квантово‑механические эффекты. В квантовых компьютерах в качестве базовых элементов рассматриваются квантовые элементы с тремя состояниями, которые в технической англоязычной литературе получили называние quantum bit, или qubit. Встречается также термин q‑bit. В русскоязычных публикациях предлагаются термины «квантовый бит» и «кубит». Эти вычислительные ячейки подразумевают наличие третьего состояния, представляющего собой суперпозицию первых двух, например вероятностную суперпозицию состояний электрона. Подробнее об этом будет сказано ниже. Для реализации подобных квантово‑механических эффектов необходимо очень сложное оборудование, обеспечивающее работу при температурах, близких к абсолютному нулю, мощное магнитное поле, а также сложное электронное оборудование, способное по заданному алгоритму «мгновенно» менять параметры системы.

В настоящее время квантовые процессоры IBM (quantum processors) расположены в следующих научных центрах:

  • Austin (20 кубит);
  • Rueschlikon (16 кубит);
  • Tenerife (5 кубит);
  • Yorktown (5 кубит).

Начинающим пользователям бесплатно предоставляется доступ к 5‑кубитному квантовому процессору. Кроме того, свободный доступ предоставлен к симулятору квантового процессора. Продвинутые пользователи могут работать с 16‑кубитным процессором. Мощный 20‑кубитный процессор доступен только для партнеров проекта.

Внешний вид квантового процессора IBM без камеры охлаждения показан на рис. 1.

Внешний вид квантового процессора IBM без камеры охлаждения

Рис. 1. Внешний вид квантового процессора IBM без камеры охлаждения

Квантовый компьютер — это сооружение достаточно внушительных размеров. В квантовых компьютерах IBM используются кубиты, разработанные на основе сверхпроводников с джозефсоновским переходом (Josephson junction). Поэтому сами кубиты размещены в специальной холодильной машине (dilution refrigerator), внутри которой поддерживается температура, близкая к абсолютному нулю. Например, температура кубитов в процессоре Austin (16) составляет всего Fridge Temperature 0,0143477 K [14].

Сама по себе установка для получения таких температур является произведением научно-технического творчества. В проекте IBM применено криогенное оборудование Oxford Triton dilution refrigerator, в котором поддерживается непрерывная циркуляция смеси из жидких He‑3 и He‑4 (рис. 2).

Внешний вид квантового процессора IBM, размещенного внутри криогенной установки Oxford Triton dilution refrigerator

Рис. 2. Внешний вид квантового процессора IBM, размещенного внутри криогенной установки Oxford Triton dilution refrigerator

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

Начать работать с квантовым компьютером может любой желающий. Для этого не нужна специальная подготовка, поскольку IBM Quantum Experience содержит набор обучающих программ, которые помогут клиентам освоить основные принципы работы с однокубитовыми и многокубитовыми вычислениями, а также использовать методы квантовой коррекции ошибок [15]. Следует подчеркнуть, что основная часть многочисленных и подробных технических и обучающих документов на сайтах IBM доступна только через программу Jupiter Notebooks. Поэтому попытки перейти по ссылкам IBM на некоторые разделы технической документации заканчиваются ошибкой в соединении.

В разделе Devices программного обеспечения Quantum Experience начинающий пользователь имеет возможность выбора одного из двух вариантов (5 или 16 кубит) работы с квантовыми процессорами IBM (рис. 3). Участникам проекта с особыми полномочиями также предоставляется возможность работы с 20‑кубитовым компьютером IBM. Все участники имеют неограниченный доступ к симулятору IBM Q QASM Simulator. Несколько подробнее о языке QASM будет сказано далее.

Окно Devices программного обеспечения Quantum Experience предоставляет пользователю возможность выбора одного из двух вариантов (5 и 16 кубит) работы с квантовыми процессорами IBM

Рис. 3. Окно Devices программного обеспечения Quantum Experience предоставляет пользователю возможность выбора одного из двух вариантов (5 и 16 кубит) работы с квантовыми процессорами IBM

Для создания собственных алгоритмов пользователя IBM предлагает программное обеспечение Quantum Composer QX, представляющее собой графический интерфейс с возможностью разработки индивидуальных алгоритмов конкретных квантовых моделей (quantum score QC). Интерфейс этой программы напоминает нотную тетрадь, а сам процесс разработки QC похож на создание музыкального произведения (рис. 4) [16].

Окно Composer программного обеспечения Quantum Experience позволяет разрабатывать собственные алгоритмы пользователя для конкретных квантовых моделей

Рис. 4. Окно Composer программного обеспечения Quantum Experience позволяет разрабатывать собственные алгоритмы пользователя для конкретных квантовых моделей

По аналогии с музыкальной симфонией с помощью Quantum Composer можно создавать алгоритмы параллельных вычислений, направленных на решение сложной многомерной задачи.

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

Квантовые вентили (quantum gate) показаны на рис. 4 квадратиками. Эти элементы играют роль квантовых логических элементов. Они преобразуют входные состояния кубитов в выходные события по заданному алгоритму и определяют частоту для разных длительностей, амплитуд и фаз. В базовом варианте квантового компьютера квантовые вентили могут быть как с одним входом и одним выходом, так и с двумя входами и выходами. Квантовая логика позволяет создавать комбинации сложных и разветвленных вариаций соединения кубитов. При запуске программы Quantum Composer можно выбрать режим работы с реальным квантовым процессором (realistic) или режим с идеальным квантовым симулятором (ideal). Идеальный режим использует каждый вентиль как унитарную матрицу и создает образ вентиля с конечным выходным событием для случая, когда все операции идеальны. В реальном режиме численно решается система дифференциальных уравнений, которая определяет поставленную задачу. При этом учитываются такие факторы, как диссипация, фазовый шум, зависимость работы вентилей от времен, взаимодействие между смежными кубитами. В режиме идеального симулятора нет ограничений на топологию, в то время как в реальном режиме топология определяется физическим устройством, работающим в лаборатории IBM.

Среда IBM Quantum Experience также предоставляет возможность программирования на языке OpenQASM с использованием Python API. Для этой цели разработано специальное отладочное обеспечение QISKit (Quantum Information Software Kit). Более детальная информация о данном отладочном средстве приведена в последнем разделе статьи.

Подробно вопросы работы с программным обеспечением IBM_Quantum_Experience описаны в документе [17].

Кроме того, в QX поддерживается форум пользователей, где можно задавать вопросы и обмениваться идеями с разработчиками всего мира. Там же размещены многочисленные статьи по теории и практике работы с IBM QX [18].

Сообщество GitHub объединяет около 20 млн разработчиков программного обеспечения, предназначенного для квантовых компьютеров и квантовой криптографии [19].

 

Основные физические принципы работы квантового компьютера

Технические характеристики и принципы работы квантового компьютера IBM Q невозможно понять, не используя ссылки на базовые постулаты квантовой механики. Поэтому целесообразно кратко напомнить некоторые из них. Про эти принципы очень хорошо сказано в канадском научном фильме [20].

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

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

Очень упрощенным приближением для иллюстрации принципа суперпозиции может служить состояние подброшенной монетки [21]. Если подбросить монетку, то в классической физике она должна упасть орлом или решкой (состояния 0 или 1 в двоичной логике). С точки зрения квантовой физики теоретически с вероятностью, отличной от нуля, монетка может упасть на ребро и бешено вращаться, показывая наблюдателю то орел, то решку. В этом варианте добавляется третий параметр, объединяющий первые два состояния, — характеристики вращения (спин).

Согласно принципу суперпозиции свет, например, может вести себя как электромагнитная волна и как материальная частица электромагнитного поля, в некотором смысле одновременно.

Понятие квантовой суперпозиции возникло из попыток объяснить знаменитый опыт Томаса Юнга с прохождением света через две щели, проведенный еще в 1803 году, история которого хорошо известна из курса школьной физики.

Для того чтобы разрешить противоречие между двойственной природой элементарных частиц, получившее название «корпускулярно-волновой дуализм», в квантовой механике вводится понятие «комплексная волновая функция» (Ψ), которая дает возможность вероятностного описания исходного положения каждой элементарной частицы. Начальные значения волновой функции в принципе невозможно определить полностью и однозначно. Поэтому все трактовки результатов вычислений в квантовой механике носят вероятностный характер.

Если воспользоваться описанным выше экспериментом, то в случае, когда фотон проходит через одну щель, он находится в одном определенном состоянии. Это состояние в квантовой механике описывается конкретной волновой функцией Ψ1. Если фотон проходит через другую щель, то он находится в другом состоянии с другой волновой функцией Ψ2.

Принцип квантовой суперпозиции говорит о том, что если некая квантовая система может существовать в состояниях, описываемых волновыми функциями Ψ1 и Ψ2, то она может пребывать и в состоянии, описываемом суперпозицией первого и второго состояний, а ее волновая функция для любых комплексных амплитуд С1 и С2 является суммой двух волновых функций. Принцип суперпозиции справедлив и для множества различных состояний n волновых функций. Интеграл квадрата модуля волновой функции по всем переменным, от которых зависит эта волновая функция в данном пространстве, всегда равен 1. Именно в этом смысле можно утверждать, что частица может одновременно находиться во всех возможных состояниях с определенной долей вероятности.

Второй постулат квантовой механики в копенгагенской интерпретации, который используется в теории квантовых компьютеров, говорит о том, что в момент измерения частицы происходит мгновенное схлопывание волновой функции («коллапс волновой функции»). Под термином «измерение» подразумевается процесс получения информации о состоянии квантовой системы, реализуемый в момент проведения физического эксперимента. Если до момента измерения волновая функция находилась в состоянии суперпозиции, то в момент измерения она принимает конкретное значение. Важно то, что результат данного измерения невозможно предсказать заранее. При измерении случайно выбирается одно из возможных значений волновой функции данной частицы.

Опять же, очень и очень грубо можно воспользоваться приведенным выше примером с монеткой, упавшей на ребро и вращающейся при этом вокруг своей оси. Пока монетка вращается, у нее есть две волновые функции и их суперпозиция. Но как только вы прихлопните монету рукой или, другими словами, проведете измерение (определите, орел или решка), волновая функция мгновенно изменится и монетка перейдет в определенное состояние. В некотором смысле такая же ситуация наблюдается и с элементарными частицами. В известном мысленном эксперименте с котом Шрёдингера коллапс волновой функции наступает, когда ящик открывают и обнаруживают, что кот жив (рис. 5) [22].

Коллапс волновой функции кота Шрёдингера — ящик открыт, кот живой

Рис. 5. Коллапс волновой функции кота Шрёдингера — ящик открыт, кот живой

Третье важное утверждение квантовой механики, используемое в теории квантовых компьютеров, связано с явлением так называемой квантовой запутанности (entanglement), которое определяет взаимозависимость состояний нескольких квантовых систем. Часто используется также термин «эффект перепутывания».

Квантовая запутанность представляет собой одно из самых сложных положений теоретической физики. Для его интерпретации можно воспользоваться хорошо известным примером с печеньем [23].

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

Квантовая запутанность неразрывно связана с эффектами Эйнштейна — Подольского — Розена (EPR) и Гринберга — Хорна — Зейлингера (GHZ), определяющими так называемый принцип дополнительности.

В нашем примере принцип дополнительности означает, что печенье может существовать в одном из четырех возможных состояний: красный квадрат, красный круг, синий квадрат и синий круг (рис. 6).

Явление квантовой запутанности позволяет определить одну форму, зная другую

Рис. 6. Явление квантовой запутанности позволяет определить одну форму, зная другую

В общем случае можно говорить о форме печенья во второй коробке, открыв первую. Однако мы ничего не сможем сказать о цвете печенья во второй коробке. Этот пример очень приблизительно описывает принцип дополнительности, который в формулировке Нильса Бора звучит примерно так: «Согласно квантовой теории, ничей взгляд на квантовую реальность не обладает полнотой, поэтому приходится принимать во внимание множество разных и взаимоисключающих картин, у каждой из которых есть свое неполное представление о происходящем».

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

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

Например, в экспериментах с фотонными квантовыми роутерами (photonic quantum routers) предполагается, что один и тот же фотон может одновременно проходить через две щели, интерферируя сам с собой, или находиться в один и тот же момент времени в разных точках пространства [24].

Вообще говоря, в качестве вычислительных ячеек кубитов в принципе могут выступать любые объекты, имеющие по крайней мере два квантовых состояния и суперпозицию. Это, например, фотоны с поляризацией ±1, электроны, кварки, мюоны, тау-лептоны, протоны, нейтроны, атомы и ядра He‑3, электронные состояния изолированных атомов или ионов и т. д.

В настоящее время на практике в качестве логической основы кубита в опытных проектах используются комбинации положений электронов в определенной точке полупроводника; эффекты Джозефсона; варианты направлений электронного или ядерного спина в данной квантовой точке; комбинации положений куперовской пары (связанное состояние двух взаимодействующих через фонон электронов) в определенной пространственной области; основное или возбужденное состояние внешнего электрона в ионах вакуумных ловушек Пауля; запутанные состояния фотонов; а также различные комбинации перечисленных явлений.

В недавно опубликованной статье описывается эксперимент, в котором луч лазера пропускался через плотное облако ультрахолодных атомов рубидия. При этом на выходе наблюдались фотоны, связанные вместе в парах или триплетах. Самое удивительное заключалось в том, что были зарегистрированы триплеты фотонов, взаимодействующих между собой и фактически формирующих совершенно новый вид фотонного вещества с массой, близкой к массе электрона. Эти триплеты перемещались со скоростью, примерно в 100 000 раз медленнее, чем обычные невзаимодействующие фотоны. Возможно, это новое явление в корне изменит технологию кубитов квантовых компьютеров [25].

Процесс вычисления в квантовом компьютере, по существу, представляет собой последовательность квантовых унитарных операций простого вида в квантовых регистрах, содержащих несколько кубитов [26].

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

В квантовом компьютере, состоящем, например, из 10 кубит, возможны 1024 линейно независимых состояния. В соответствии с принципом квантовой суперпозиции пространство состояний суммарной волновой функции такой системы соответствует гильбертовому пространству с размерностью 1024. Любое изменение системы вызовет поворот вектора состояния в этом пространстве и коллапс волновой функции. Учитывая принцип квантовой запутанности, запрещающий независимые состояния нескольких связанных квантовых систем, а также тот факт, что при коллапсе волновая функция принимает конкретное значение, можно говорить о том, что в данном случае «мгновенно» изменятся все 1024 возможных состояния квантового регистра. Таким образом, квантовый компьютер теоретически может работать на порядки быстрее по сравнению с классическими компьютерами с двоичной системой.

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

 

Аппаратная реализация квантового компьютера IBM Q

Внешний вид квантового компьютера IBM показан на рис. 1. Базовым элементом квантового компьютера IBM является квантовый процессор, содержащий кубиты, размещенные в холодильной установке, внутри которой поддерживается температура около 0,0144 K.

Кубиты, использованные в проекте IBM Q, представляют собой высокочастотный сверхпроводящий трансмон-кубит (transmon qubit) с фиксированной частотой. Этот кубит на основе джозефсоновского перехода (Josephson junction) малочувствителен к зарядовому шуму.

Структура ячейки 4 кубит типа «трансмон» проекта IBM Q показана на рис. 7.

Структура ячейки 4 кубит типа «трансмон» проекта IBM Q

Рис. 7. Структура ячейки 4 кубит типа «трансмон» проекта IBM Q

Ячейка состоит из двух «рабочих» трансмонов (Q1, Q2) и двух «охранных» кубитов, объединенных между собой резонаторами и высокочастотными волноводами. Такая структура подробнее рассмотрена в следующем разделе статьи.

Трансмон представляет собой одну из разновидностей зарядового кубита, работающего по принципу квантования заряда куперовских пар электронов в сверхпроводнике. Куперовская пара, состоящая из двух электронов и являющаяся переносчиком заряда в сверхпроводниках, обладает нулевым спином и зарядом, равным удвоенному заряду электрона. Модуль трансмон-кубитов производства IBM содержит 4 кубит, а также четыре квантовые шины и четыре выходных резонатора на одном кристалле [27].

В общем случае кубиты на основе эффекта Джозефсона представляют собой металлический контур с размерами порядка десятков микрон, в котором встроены разрывы из диэлектрика шириной несколько нанометров. Напомним, что эффект Джозефсона описывает туннелирование сверхпроводящего тока между двумя сверхпроводниками, разделенными изолирующим барьером. Суть явления туннелирования заключается в том, что электроны могут с некоторой вероятностью проходить сквозь потенциальные барьеры. В нашем примере они проходят через разрыв из изолятора в металлическом контуре. При температурах, близких к абсолютному нулю, через такой контур начинает проходить ток сверхпроводимости, который может спонтанно менять направление и протекать как по часовой стрелке, так и против нее, поскольку энергетический уровень обоих состояний равновероятен. Ток по часовой стрелке и против нее соответствует 0 и 1. Промежуточное состояние — суперпозиция. Внешнее электромагнитное поле может переключать систему в одно из конечных состояний. Это очень общая и очень приближенная схема.

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

Трансмон представляет собой одну из разновидностей зарядового кубита, работающего по принципу квантования заряда куперовских пар электронов в сверхпроводнике (куперовская пара — это связанное состояние двух взаимодействующих через фонон электронов, обеспечивающая эффект сверхпроводимости).

Основное отличие трансмона от классического джозефсоновского зарядового кубита заключается в том, что у него энергия Джозефсона примерно в 100 раз больше энергии Кулона.

В варианте IBM QE в конструкции кубита используется так называемый контейнер куперовских пар (Сooper-pair box), связанный с большим резервуаром заряда через два джозефсоновских контакта, разделенных маленьким островком для накопления заряда (рис. 7). Система коррекции и управления внешними электромагнитными полями, в которых находится устройство, а также использование именно двух одинаковых джозефсоновских переходов позволяет надежно контролировать их энергию.

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

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

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

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

Измерение состояния кубитов и управление трансмонами осуществляется с помощью микроволновых резонаторов, которые также обеспечивают доступ к другим кубитам чипа. В устройствах IBM Quantum Experience резонаторы выполнены в копланарном конструктиве «четверть волны». Связь с резонаторами осуществляется с помощью конденсатора, размещенного между кубитом и резонатором в точке, где электромагнитное поле резонатора максимально.

Специалисты из исследовательского центра IBM Watson Research Center, в котором находится один из квантовых компьютеров проекта IBM-Q, приводят описание используемого трансмон-кубита в своей последней статье [27].

Ячейка из 4 кубит выполнена в виде планарной микросхемы на кремниевой подложке толщиной 720 мкм. Сверхпроводящие CPW-резонаторы, кубитовые конденсаторы и конденсаторы связи изготовлены с помощью оптической литографии. Для этого использовалось ионное травление напыленной на подложку пленки нубидия толщиной 200 нм. Джозефсоновские переходы реализованы на алюминиевых линиях шириной 35 и 85 нм, нанесенных на подложку с применением технологии lift-off. На корпусе микросхемы имеются контакты для вывода сигналов и управления кубитами. Частоты четырех переходов ωi/2π для кубит 1, 2, 3, 4 составляют соответственно: 5,303; 5,101; 5,291 и 5,415 ГГц. Частоты считывающих резонаторов ωRi/2π равны: 6,494; 6,695; 6,491 и 6,693 ГГц. Четыре шинных изолятора рассчитаны на частоты ωBii/2π: 8; 7,5; 8; 7,5 ГГц. Для всех кубитов ангармоничность составляет 330 МГц. Время восстановления полного термодинамического равновесия носителей заряда кристаллической решетки (energy relaxation times) T1(i) составляет для 4 кубит соответственно: 33, 36, 31 и 29 мкс. Времена когерентности, характеризующие случайные изменения квантовых состояний за счет взаимодействия кубитов с окружающей средой или измерительными устройствами, составляют единицы микросекунд. Частоты считывающих резонаторов κi/2π составляют: 615, 440, 287 и 1210 кГц при отрицательном дисперсном смещении: –3; –2; –2,5; –2,8 МГц.

На рис. 7 показаны все компоненты ячейки трансмонов IBM, включая четыре кубита Q1–Q4, четыре считывающих резонатора R1–R4 и четыре соединительные шины B12, B23, B34 и B41. Резонаторы для считывания данных также служат в качестве кубитовых управляющих линий. Считывание производится на частоте резонатора oMi. В нижней части рисунка показана геометрия конденсатора, а также линии связи с резонатором и с шинами.

Параметрические усилители Джозефсона (Josephson parametric amplifiers, JPA) с ультранизким уровнем шумов используются для обнаружения сигналов СВЧ-диапазона с чувствительностью, приближающейся к минимуму, разрешенному квантовой механикой. В данном исследовании использовалось устройство Integrated Josephson Parametric Amplifier Readout, разработанное в Quantum Nanoelectronics Laboratory, UC Berkeley [28].

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

Одной из основных, связанных с масштабированием квантового компьютера QC, является проблема управления и считывания состояний кубитов во время выполнения сложных квантовых алгоритмов, таких, например, как код с исправлением ошибок. При конструировании QC необходимо оптимально распределить элементы управления системы на разных уровнях температуры криогенной камеры. С одной стороны, трансмоны могут работать только при температурах в районе абсолютного нуля. С другой — вентили и предварительные усилители должны находиться в непосредственной близости к кубиту. Наиболее дорогостоящим элементом в обслуживании QC является холодильная камера трансмона с температурой около 15 мК. Смесь He‑3/He‑4, необходимая для поддержания таких температур, баснословно дорогая. Поэтому при увеличении числа кубитов нужно постараться свести к минимуму количество устройств, находящихся в нижней, самой холодной части термокамеры квантового компьютера.

Одно из решений этой проблемы — применение устройств на основе гетероструктурных полевых транзисторов с высокой подвижностью электронов (high electron mobility transistor, HEMT). Данные устройства, работающие при криогенных температурах, позволяют создавать быстродействующие переключающие матрицы при минимальном электропотреблении. Задача решается так, что исполнительные переключающие матрицы HEMT располагаются в средней части криогенной установки квантового процессора, с температурой ниже 4 К, а управляющее переключением HEMT электронное оборудование выносится в верхнюю часть установки с комнатными температурами.

На рис. 8 показана упрощенная структурная схема процессора квантового компьютера [27].

Упрощенная структурная схема квантового процессора

Рис. 8. Упрощенная структурная схема квантового процессора

Непосредственно кубитовый модуль, состоящий из чипа с четырьмя трансмонами, расположен в первом нижнем отсеке криогенной камеры, в котором постоянно поддерживается температура около 0,015 К. Такая температура обеспечивается криогенным оборудованием Oxford Triton dilution refrigerator, работающим на смеси Не‑3 и Не‑4. Сигнал с трансмона поступает на фазовый фильтр, а затем через разветвитель подается на JPA, расположенный в непосредственной близости от кубита в нижнем отсеке камеры с температурой 15 мК. По другому разветвлению осуществляется связь с криогенной матрицей переключателей HEMT. Эти сигналы предварительно очищаются на фильтрах верхних частот. Во втором отсеке камеры поддерживается температура ниже 4 К, необходимая для работы HEMT. С помощью матрицы переключателей выполняется как управление адресными шинами и шинами данных, так и определение режима работы кубитов.

Отсеки изолированы от внешнего воздействия с помощью решения от фирмы Amuneal cryoperm shield. Между собой отсеки разделяются с использованием специального изолирующего материала Emerson & Cuming CR‑124 Eccosorb. Сигнал передается по изолированным СВЧ-волноводам. В верхней части квантового компьютера расположена стандартная программируемая пользователем электроника.

Такая схема позволяет реализовать произвольные логические алгоритмы с использованием небольшого набора повторяющихся 1‑ и 2‑кубитных унитарных операций.

Процесс определения состояния кубита заключается в том, что измеряются характеристики резонатора, встроенного в кубит. На кубит подаются СВЧ-импульсы и анализируется отраженный сигнал. Резонансные характеристики зависят от того, в каком состоянии в данный момент находится кубит. В соответствии с его состоянием будут различаться фаза и амплитуда этого отраженного сигнала. Данные сигналы усиливаются JPA, находящимся в зоне с температурой 15 мК, и затем поступают на промежуточный усилитель на базе транзисторов с высокой электронной подвижностью, который находится в отсеке с температурой 4 К.

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

Модулирующие сигналы для 1‑ и 2‑кубитных команд, а также импульсов считывания резонатора вырабатываются генераторами произвольной формы Tektronix (модель AWG5014). Для модуляции формы колебаний сигнала считывания использованы микросхемы Raytheon BBN Technologies, Marki I/Q, а также микроволновые генераторы Holzworth и генераторы векторных сигналов Agilent-E8257D. Блок сбора данных спроектирован на базе дигитайзеров AlazarTech — ATS9870.

В связи с тем что скорость срабатывания 2‑кубитного вентиля сильно зависит от «расстройки» между кубитами и ангармоничностью каждого кубита, обычно требуется настройка для калибровки взаимодействия между двумя кубитами в течение периода переключения, а также для минимизации взаимодействия между ними в любой другой момент времени. Поскольку в данном варианте используются трансмоны с фиксированной частотой, невозможно проводить настройку на близких частотах. Вместо этого используется кросс-резонансный эффект (cross-resonance effect) [29]. В таком случае управление одним из кубитов, который называется контрольным, осуществляется с помощью микроволновых импульсов с частотой второго кубита, именуемого мишенью. Такой подход позволяет активно увеличивать силу связи между кубитами. Природа эффекта поперечного резонанса также способна контролировать одну из ключевых характеристик квантовых вентилей — унитарный оператор CNOT (управляемый NOT).

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

В общем случае различают два типа ошибок. Один тип именуется «битовая ошибка» (bit-flip), которая просто переворачивает 0 в 1 и наоборот. Другой, более важный тип ошибок вызывает искажение знака фаз между 0 и 1 в состоянии суперпозиции (phase-flip).

Среди различных методов коррекции ошибок измерений квантового компьютера (quantum error correction, QEC) можно отметить схему поверхностных кодов (surface code, SC), которая подразумевает, что часть кубитов (ancilla qubits) предназначена для исправления ошибок измерений состояний кубитов (data qubit), ответственных за исполнение алгоритма вычислений. Метод SC позволяет использовать только ближайшие взаимодействия для того, чтобы кодировать один логический кубит, делая его достаточно стабильным для выполнения операций без ошибок. На рис. 9 показана схема процесса коррекции ошибок с применением SC [27].

На рис. 9а дано схематическое изображение поверхности кодов SC, состоящей из зеленых квадратиков (Z), фиксирующих ошибки phase-flip, и желтых квадратиков (X), ответственных за коррекцию ошибок bit-flip. Полукруговые фигуры на торце, слева и справа, соответствуют проверке на четность на границах решетки. Эти элементы могут быть нанесены на решетке физических сверхпроводящих кубитов с соответствующей связью с ближайшими взаимодействующими устройствами (плоскость MAP). На плоскости MAP шариками обозначены следующие типы кубитов: красные — code qubits; желтые — X qubits (bit-flip); зеленые — Z qubits (phase-flip). Физическая связь сверхпроводящих кубитов может быть реализована подключением каждого кубита к двум квантовым шинным резонаторам. Они показаны на плоскости MAP в виде синих квадратиков в белую полоску.

Схема коррекции ошибок с использованием поверхностных кодов

Рис. 9. Схема коррекции ошибок с использованием поверхностных кодов

На рис. 9б показан увеличенный элемент плоскости MAP, соответствующий реальному снимку, конкретного чипа кубита IBM. Этот чип содержит два 2‑кодовых кубита данных, обозначенных Q1 и Q3, а также элементы SC, которые обеспечивают независимое и одновременное обнаружение ошибок X и Z, возникающих при считывании данных (кубиты Q2 и Q4).

На рис. 9в приведена схема, показывающая, как происходит перекодирование битовых и фазовых ошибок 2‑кодовых кубитов, находящихся в максимально запутанном квантовом состоянии (Bell state), при проверке четности (XX) и (ZZ) в контрольных кубитах X qubits bit-flip (Q4 — желтый) и Z qubits phase-flip (Q2 — зеленый). Например, если первоначально ошибка измерения состояния возникает в кубите Q1, она будет фиксироваться в близлежащих кубитах Q2 или Q4. Операция Хардмана (Hadamard operation) — H — применяется к кубиту Q4 перед измерением.

Кубиты X qubits bit-flip дают возможность получить код [[2,0,2]], который содержит два физических кубита, ноль логических кубитов, а также одно фиксированное состояние кода. Это означает, что могут быть обнаружены произвольные ошибки с одним кубитом. Аналогичные рассуждения можно привести и для кубита Z qubits phase-flip. Кодовое слово, определяющее 2‑кубитное запутанное состояние, защищено от любой однобитовой ошибки в кодовом пространстве с помощью Q2, Q4. Произвольная 1‑кубитовая ошибка, обнаруженная в Q2 или Q4 как битовая или фазовая ошибка, просто сопоставляется с отрицательным собственным состоянием ZZ или XX. При этом соответствующий бит или фазовый сдвиг (поворот по Y) отображаются на отрицательное собственное состояние. Таким образом, описанный метод кодирования XX и ZZ позволяет в 4‑кубитовой ячейке защитить максимально запутанное состояние двух кубитов от любой произвольной ошибки.

Следует обратить внимание, что в схеме, показанной на рис. 9, необходимо использование четырех 2‑битных вентилей. Кроме того, кодовые кубиты Q1 и Q3 должны быть подготовлены в запутанном состоянии. Поскольку эти кубиты априори не являются ближайшими соседями и нет никакого условия для безусловного взаимодействия между ними, необходимо сначала запутать Q1 и Q2, а затем выполнить операцию свопинга между Q2 и Q3. При этом используется операция вентиля SWAP, которая эквивалентна чередующемуся переключению трех вентилей CNOT. Детально процесс коррекции ошибок измерения состояния кубитов в этом эксперименте описан в [27].

Принципы, алгоритмы и коды коррекции ошибок квантовых компьютеров IBM приведены в [29].

 

Отладочный комплект для программирования квантового компьютера QISKit

Комплект разработки программного обеспечения QISKit (Quantum Information Software Kit) предназначен для создания собственных квантовых программ с помощью языка OpenQASM [30] в приложениях Quantum Experience. Для работы с современными схемами на новых квантовых процессорах рекомендуется использовать спецификации OpenQASM 2.0 и выше. Язык OpenQASM или Quantum Assembly Language предназначен для описания квантовых цепей, оперирующих с поддержкой CNOT/SU (2) с прямым кодом, который содержит функции измерения, сброса, быстрой обратной связи и подстановки.

Простой текстовый язык может быть написан вручную или с помощью инструментов более высокого уровня и может выполняться в IBM Q Experience [31].

Ниже приведены примеры команд из фрагмента скрипта на QASM, взятые из [32]:

qreg q[1];                     \\ Инициализация регистра
                                    \\ с помощью одного кубита
creg c[1];                      \\ Инициализация регистра
                                    \\ с помощью обычного бита
u3(pi,0,0) q[0];             \\ Применение побитового отрицания (NOT)
                                    \\ к кубиту
measure q[0] -> c[0];  \\ Измерение кубита
u3(pi,0,0) q[0];             \\ Другой способ побитового отрицания
                                    \\ на QASM

Программное обеспечение QISKit позволяет разработчикам проводить исследования IBM Quantum Experience с использованием интерфейса Python. Этот интерфейс предусматривает работу с различными квантовыми схемами и выполнение нескольких алгоритмов в заданной последовательности. Комплект разработки QISKit разрешает компилировать и выполнять программы на нескольких серверах, включая обновленный квантовый процессор IBM 16 кубит, а также на онлайн- и локальных симуляторах IBM. Для онлайн-сервера QISKit можно использовать API-интерфейс Python для IBM Quantum Experience [33].

Для применения QISKit требуется по крайней мере Python 3.5 или более поздние версии. Для начинающих на сайте IBM имеются руководство пользователей и ряд стандартных примеров работы с квантовым процессором [34]. При установке QISKit обычно используется PIP tool — Python package manager: pip install qiskit.

Для работы с учебниками и инструкциями рекомендуется установить Jupyter Notebook [35]. Оптимальным вариантом является дистрибутив Anaconda 3 python, поскольку он поставляется с этими уже установленными программами.

Установку QISKit проще всего сделать, воспользовавшись дистрибутивом Anaconda Python [36].

Программу QISKit можно также установить из архива git (cd qiskit-sdk-py-dev) {git clone} [37]. В другом варианте установки программу QISKit можно загрузить напрямую со странички Github [38].

Следует убедиться, что у вас установлен последний вариант QISKit. Проверить версию ПО можно с помощью pip install — U qiskit. Необходимо принимать во внимание, что старые версии QISKit не поддерживают некоторые разделы учебника.

Если чтение учебника реализуется с помощью Jupyter Notebook с использованием онлайн-сервера, нужно настроить API Quantum Experience в соответствии с файлом Qconfig.py.

После установки требуемого ПО надо создать среду, используя операцию make env.

Если все установилось правильно, то открывается доступ к примерам на базе Jupyter или Python.

Для этого следует добавить API token в файл Qconfig.py, который находится на страничке IBM Quantum Experience account cp tutorial/Qconfig.py.default Qconfig.py, примеры будут доступны с помощью команды make run.

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

На первом этапе импортируется QuantumProgram из QISKit. Основными элементами, необходимыми для создания программы, являются QuantumProgram, исходная схема устройства, по крайней мере один квантовый регистр и один классический регистр. Таким образом, прежде всего создаются квантовые и классические регистры (qr 2, cr 2).

Кроме того, используя QuantumProgram, нужно определить словарь, содержащий все компоненты разрабатываемой программы. Каждая программа должна иметь свое имя и свой массив схем. Любая схема должна иметь также уникальное имя. Однако одна программа может работать с несколькими квантовыми регистрами и несколькими классическими регистрами. При этом каждый регистр должен иметь определенное имя и количество элементов (Qbits или bits).

На последнем этапе разработчику предоставляется возможность использовать определения словаря для спецификации объектов QuantumProgram и его инициализации.

При работе с QISKit следует обратить внимание на то, что в реальных устройствах и симуляторах кубиты пронумерованы справа налево. То есть если измерение на 5‑кубитном реальном устройстве (или симуляторе) дает результат «00101», это означает, что q[0] = 1, q[1] = 0, q[2] = 1, q[3] = 0 и q[4] = 0. Порядок справа налево отличается от обычного порядка, используемого в учебнике IBM Q Experience, где кубиты упорядочены слева направо.

Подробные пошаговые инструкции по работе с QISKit приведены на сайте [39].

Детальное описание работы с QUISKit можно найти на сайте [40].

Литература
  1. www.ru.wikipedia.org
  2. www.idquantique.com/
  3. www.magiqtech.com/research-labs/ /ссылка утрачена/
  4. www.dwavesys.com/home
  5. www.phys.org/news/2011-04-quantum-bits-physicists-limits.html
  6. www.arxiv.org/abs/1411.6758
  7. www.hpcwire.com/2017/12/18/world-record-quantum-computer-46-qubits-simulated/
  8. www.popsci.com/chinas-launches-new-quantum-research-supercenter
  9. www.newsland.com/community/88/content/v-rossii-sozdan-samyi-moshchnyi-kvantovyi-kompiuter-v-mire/5922965 /ссылка утрачена/
  10. www.rg.ru/2018/02/20/v-rossii-sozdadut-50-kubitnyj-kvantovyj-kompiuter.html
  11. www.irishtechnews.ie/ibm-now-have-a-50-qubit-quantum-computer-but-are-still-trying-to-figure-out-what-to-do-with-it/
  12. www.ibm.com/account/reg/ru-ru/signup?formid=MAIL-power&disableCookie=Yes
  13. www.qe-executions-map.mybluemix.net/ссылка утрачена/
  14. www.quantumexperience.ng.bluemix.net/qx/devices/ссылка утрачена/
  15. www.quantumexperience.ng.bluemix.net/qx/experience/ссылка утрачена/
  16. www.quantumexperience.ng.bluemix.net/qx/editor/ссылка утрачена/
  17. www.quantumexperience.ng.bluemix.net/qx/tutorial?sectionId=full-user-guide&page=introduction/ссылка утрачена/
  18. www.quantumexperience.ng.bluemix.net/qx/community/ссылка утрачена/
  19. www.github.com/
  20. www.youtube.com/watch?time_continue=22&v=EqAYSvxDny0/ссылка утрачена/
  21. www.newsroom.intel.com/newsroom/wp-content/uploads/sites/11/Quantum_Computing.png/ссылка утрачена/
  22. www.phys.org/news/2014-10-spontaneous-function-collapse-suppress-acoustic.html
  23. www.hsto.org/getpro/geektimes/post_images/584/b99/2c6/584b992c6b1a5c83d7b57958885f1ddpng/ссылка утрачена/
  24. www.scientificamerican.com/article/quantum-physics-may-be-even-spookier-than-you-think/
  25. www.news.mit.edu/2018/physicists-create-new-form-light-0215/ссылка утрачена/
  26. www.blog.globalknowledge.nl/wp-content/uploads/2017/07/quantum-computer-1024xpng/ссылка утрачена/
  27. www.nature.com/articles/ncomms7979
  28. www.dtic.mil/dtic/tr/fulltext/u2/apdf/ссылка утрачена/
  29. www.quantumexperience.ng.bluemix.net/qx/tutorial?sectionId=full-user-guide&page=005-Quantum_Error_Correction~2F060-Quantum_Repetition_Code/ссылка утрачена/
  30. www.qiskit.org/
  31. www.arxiv.org/abs/1707.03429
  32. www.tproger.ru/translations/quantum-computer-programming/
  33. www.developer.ibm.com/code/open/projects/qiskit
  34. www.nbviewer.jupyter.org/github/QISKit/qiskit-tutorial/blob/master/index.ipynb/ссылка утрачена/
  35. www.jupyter.org/install
  36. www.anaconda.com/download/
  37. www.github.com/IBM/qiskit-sdk-py.git
  38. www.github.com/QISKit/qiskit-sdk-py
  39. www.developer.ibm.com/code/2017/05/17/developers-guide-to-quantum-qiskit-sdk/
  40. qiskit.org/documentation

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *