Программирование квантовых компьютеров: джентльменский набор издательства «Питер»

24ef61a6f7067e6d71b0692380096b14.jpg

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

Эта история началась 4 года назад, и теперь, в конце 2020-го, у нас уже сформирован небольшой, но весьма доступный и актуальный портфель.

В 2016 году к нам в издательство от зарубежных коллег пришла очень занимательная книга: The Future X Network: A Bell Labs Perspective. Если вы раньше не слышали о Лаборатории Белла — обязательно поинтересуйтесь. Весьма незаурядная организация!

К сожалению, на русском языке она издана так и не была. И всё же мы её внимательно изучили. Это не абстрактная футурология, а очень серьёзное исследование с прогнозами до 2025 года, которые глупо игнорировать. Более того, проверяя сейчас, спустя 5 лет после составления этих прогнозов (книгу писали в 2015-м, ещё до того как их купила Nokia), соответствие их действительности очень впечатляет.

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

С этими мыслями и чувствами мы начали искать.

Всё что касается облаков, машинного обучения и биг даты — весьма понятно, наши книги по этой теме вам известны. Поэтому мы искали подтверждение спроса (в это время как раз активно рос Хаб квантовые технологии). Искали авторов и книги, которые будут полезны читателям на нынешней стадии развития квантовых технологий и в недалёком будущем.

ef193af8adc69d71509e7e8b4cd60718.jpg

Наконец ближе к концу 2018 года желания сошлись с возможностями. Мы нашли и приняли в план издательства нашу первую книгу из этого портфеля: «Квантовые вычисления для настоящих айтишников».

Почти год прошёл от принятия решения до постановки книги на полки розничных и виртуальных магазинов.

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

В качестве нашей утренней звезды выступила книга от The MIT press, впоследствии ставшая бестселлером на Amazon. К слову, мы приняли книгу к изданию почти за полгода до её релиза на Западе.

Дальше случилось неожиданное!

На CES 2019 был представлен Первый коммерческий квантовый компьютер — IBM. То есть мы, конечно, предполагали, что IBM будет активно работать в этом направлении. Однако их успехи превзошли наши ожидания.

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

Прошерстив все варианты, несколько месяцев спустя мы выбрали книгу от Владимира Силвы — активного исследователя и разработчика, работающего в различных подразделениях IBM, связанных как раз с перспективными технологиями и крупномасштабными вычислениями.

Нам было понятно, что IBM становится лидером квантовой гонки. У них достаточно опыта, ресурсов, клиентов и решимости для того, чтобы сделать из новейшей технологии настоящую индустрию. Ну и ещё удалось выудить из их научных публикаций и буклетов-гайдов для бизнеса интересную и убедительную информацию о ближайших планах/достижениях. Из всего следовало, что по крайней мере в ближайшее десятилетие именно их стек технологий будет стандартом «продакшена». Конечно в тех пределах, в которых можно говорить о продакшене столь молодой технологии.

8b9fe1ae1677fbc41de2a8f6e07552d9.jpg

«Разработка с использованием квантовых компьютеров» подойдёт для разработчиков, уже владеющих хотя бы базовыми знаниями в CS и основами языка Python. Книга предназначена для формирования навыков работы как с симулятором, так и с настоящим квантовым компьютером, к которому безвозмездно даёт доступ IBM. Автор учит нас пользоваться специальным фреймворком от IBM (пишем код на Python, фреймворк сам транслирует его в команды для железа и оптимизирует их), а также предлагает минимальный необходимый набор теории. Есть и несколько небольших учебных проектов, в которых наглядно реализован особый подход к решению задач, с использованием преимуществ квантовых вычислений. В общем, идеальный вариант для тех, кто любит сначала поиграть, покрутить и лишь потом решать, сколько тратить времени на углубленное изучение.

Эту книгу мы успели выпустить вовремя, в этом же месяце прошёл CES 2020, IBM и первое настоящее коммерческое применение нового квантового компьютера. Прошёл и полностью подтвердил все предположения и заявления, которыми мы руководствовались.

Научного редактора для этого издания я нашёл на Хабре (Михаил Коробко aka Shkaff). Наверняка многие из вас читали его увлекательные посты о гравитационной астрономии и квантовых технологиях, благодаря которым она (астрономия) стала возможна.

Кстати, тираж книги уже почти распродан. Если она заинтересовала — убедительно советую не откладывать покупку, иначе придётся довольствоваться электронным вариантом.

b407023eb999aef6701e8563aecc20f3.jpg

Третьей книгой в нашем портфеле стала «Программирование квантовых компьютеров. Базовые алгоритмы и примеры кода».

Как понятно из названия, это нечто среднее между предыдущими двумя. С одной стороны, мы изучаем что-то довольно фундаментальное — алгоритмы. Хотя и гораздо более динамичное, чем сами основы квантовой физики и квантовых вычислений, которые обсуждали в «Квантовых вычислениях для настоящих айтишников». Практические задачи перед квантовыми компьютерами только начинают ставить, и ансамбль алгоритмов ещё долго будет пополняться. Что не мешает приступить к изучению уже созданных, а возможно, и внести собственный вклад и предложить алгоритм сообществу.

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

Автор выбрал в качестве основной инфраструктуру Microsoft — второго, на наш взгляд, игрока этой гонки. Публичные инструменты, тот же Q#, они начали развивать раньше IBM, он даже замечен в профильных российских программах подготовки магистров. Таким образом, это решение использовать наработки Microsoft не идеологическое, а вполне прагматичное. Тем не менее, это не книга с игрой в одни высокотехнологичные ворота. Например, вот так автор соединяет квантовую физику, железо, софт и теорию программирования:

Если вы хотите освоить телепортацию, лучше всего опробовать ее в деле. Учтите, что на протяжении всей человеческой истории до момента написания книги лишь несколько тысяч людей выполняло физическую телепортацию какого-либо рода, так что даже выполнение следующего кода ставит вас в число первопроходцев. Для данного примера вместо системы моделирования мы воспользуемся реальным пятикубитным QPU компании IBM (рис. 4.1). Вы сможете скопировать пример кода из листинга 4.1 на сайт IBM Q Experience, щелкнуть на кнопке и убедиться в том, что телепортация прошла успешно.

Рис. 4.1. Микросхема IBM очень мала, так что перемещение кубита будет довольно коротким; на иллюстрации и схеме выделены части QPU, между которыми будет происходить телепортацияРис. 4.1. Микросхема IBM очень мала, так что перемещение кубита будет довольно коротким; на иллюстрации и схеме выделены части QPU, между которыми будет происходить телепортация

Для программирования IBM Q Experience можно использовать OpenQASM и Qiskit. Обратите внимание: в листинге 4.1 содержится не код JavaScript, предназначенный для выполнения в QCEngine, а код OpenQASM, предназначенный для выполнения в облачном интерфейсе IBM (рис. 4.2). Выполнение этого кода позволит вам не смоделировать, а реально выполнить телепортацию кубита в исследовательском центре IBM в Йорктаун Хайтс (Нью-Йорк). Мы подробно опишем, как это делается. Подробное рассмотрение этого кода также поможет вам точно понять, как работает квантовая телепортация.

Пример кода

Этот пример можно выполнить онлайн по адресу http://oreilly-qc.github. io? p=4–1.

Листинг 4.1. Телепортация с проверкой

include "qelib1.inc";
qreg q[5]; 
creg c[5];

// Шаг 1: создать запутанную пару 
h q[2]; 
cx q[2],q[4]; 
barrier q[0],q[1],q[2],q[3],q[4];

// Шаг 2: подготовить данные 
x q[0]; 
h q[0]; 
t q[0]; 
barrier q[0],q[1],q[2],q[3],q[4];

// Шаг 3: отправить 
h q[0]; h q[2]; 
cx q[2],q[0];
h q[2]; 
measure q[0] -> c[0]; 
measure q[2] -> c[2]; 
barrier q[3],q[4];

// Шаг 4: получить 
x q[4]; 
z q[4]; 
barrier q[3],q[4];

// Шаг 5: проверить 
tdg q[4]; 
h q[4]; 
x q[4]; 
measure q[4] -> c[4];

Научным редактором книги выступил уже известный вам Михаил Коробко aka Shkaff

87a20b1efa084943e2d9776c9f54cbb6.jpg

И теперь краткий анонс четвёртой, ещё находящейся в производстве книги — «Танец с кубитами. Как на самом деле работают квантовые вычисления».

Автор Роберт Сатор (привет TENET, привет Нолан!), вице-президент направления IBM по квантовым компьютерам.

CV автора

38227ea80a696631b2a4e66fc3b2301e.png

Это будет уже четвёртое наше издание о квантовых вычислениях и программировании квантовых компьютеров. Обширное и обстоятельное, больше похожее на классическую компьютерную литературу, к которой вы привыкли. Внутри, конечно, довольно много математики, но вас ведь это не пугает в хороших книгах по Машинному и Глубокому обучению?

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

«Очень нужное и долгожданное пополнение в корпусе литературы по квантовым вычислениям. Свежая, провокационная и глубоко продуманная, с разделами об основных математических инструментах, которые доступны каждому. Настоятельно рекомендую!»

Ilyas Khan, CEO, Cambridge Quantum Computing

Подробнее о книге вы сможете прочитать в нашем блоге в период предзаказа/старта продаж. К сожалению, точной даты я сейчас назвать не могу, сориентирую на начало 2021 года. Советую подписаться на наш блог и/или почтовую рассылку, чтобы не пропустить!

Кстати, раз уж мы весь пост говорим на тему неопределённостей, советую обратить внимание на нашу книгу «Вероятностное программирование на Python: байесовский вывод и алгоритмы». Здесь обошлось без квантовых эффектов, но тоже очень интересно и всё понятно.

Резюмируем. Примерно таким образом в издательстве «Питер» мы работаем над тем, чтобы наши читатели получал доступ к сливкам компьютерной литературы. Конечно, не получится избавиться от некоторого лага с англоязычным миром. Однако мы работаем на опережение, отсматриваем книги зачастую ещё на этапе концепции от западных издательств и вместо вас сортируем сотни книг, вылавливая лучшее! Могу уверенно сказать, что среди локальных (национальных) книжных рынков русскоязычный читатель от IT получает самый широкий и актуальный выбор.

© Habrahabr.ru