Программирование для квантовых вычислений: какой язык лучше?

Программирование для квантовых вычислений: какой язык лучше?

QuantTech

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

Если вдруг вы захотите писать код и в конечном итоге заняться квантовым программированием, сначала придется выбрать язык, на котором будут написаны программы. Но какой язык больше всего подходит для квантовых вычислений?

Конечно же, Python!


Простой синтаксис, легко учить

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


Множество ресурсов

Python используется для скриптов, веб-разработки, искусственного интеллекта, а теперь и в квантовых вычислениях. Из-за того, что язык используется практически везде, тонна ресурсов для обучения в вашем распоряжении. Существуют книги, видео на YouTube, курсы на Coursera, интерактивные веб-сайты для программирования и многое другое  — все, чтобы вы выучили Python. И поскольку Python является beginner friendly, многие из этих ресурсов еще и научат вас основным концепциям информатики.


Множество библиотек для квантовых вычислений на Python

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


Cirq

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


Qiskit

Qiskit — библиотека, написанная разработчиками из IBM, для работы с "шумными" квантовыми компьютерами на разных уровнях. В Qiskit представлены пакеты Aqua, Terra, Ignis и Aer. В них найдётся всё: начиная с обычной симуляции квантового компьютера до конечных вычислений на кубитах IBM.


Pyquil 

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


Ocean

Ocean — это инструмент D-Wave, который подключается к платформе Leap D-Wave, для запуска кода на квантовых вычислителях. Недавно мы писали о том, что японская компания OKI использовала облако D-Wave для решения задачи оптимизации.


Есть другие библиотеки и инструменты, такие как QuTiP для численного моделирования кубитов и ProjectQ для упрощения работы со сложными квантовыми системами.


Qiskit, проект IBM


Python — подходящий язык программирования, чтобы начать изучать квантовые компьютеры, если вдруг в один прекрасный день они вам понадобятся. На мой взгляд, это язык программирования, который будет отлично смотреться в вашем CV: Python — один из самых быстрорастущих проектов, и в любой крупной технологической компании найдется Python-разработчик.

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


Источник

Report Page