Які мови програмування доступні для квантових комп'ютерів?


53

З цього питання я зрозумів, що основними мовами програмування квантових обчислень є Q # та QISKit .

Які ще мови програмування доступні для програмування квантових комп'ютерів? Чи є певні переваги у виборі конкретних?

EDIT: Я шукаю мови програмування, а не емулятори. Емулятори імітують речі. Мови програмування - це метод написання інструкцій (для реальних об'єктів або для емуляторів). Можливо, існує одна мова, яка працює для декількох емуляторів і навпаки.


Я хотів би зазначити, що по суті жодна з мов, перелічених у прийнятій тут відповіді, насправді не може працювати проти існуючого квантового комп'ютера. Можливо, буде більше сенсу: 1) відредагувати питання, щоб зрозуміти, що ви запитуєте мови, які неможливо скомпілювати для роботи з існуючим обладнанням, або 2) прийняти іншу відповідь.
DanielSank

1
@DanielSank Я прийняв список Вікіпедії, тому що я припускав, що цей список буде оновлений, включаючи мови, які фактично працюють на апаратному забезпеченні; це послужить найкращою відповіддю, якщо припустити, що у Вікіпедії продовжує існувати ця сторінка.
Pro Q

1
@ProQ - Є незначне оновлення моєї відповіді. Крім того, я уточнив, що моя відповідь не вирізати / вставити, але перевірити посилання. Я виправив зламане посилання. Я додав важливий веб-сайт учасника. - Я час від часу повернусь, щоб переконатися, що ця відповідь "приблизно чудова". Деталі щодо відповідей та підтримки були розглянуті. Деякі мови моєї відповіді працюють на апаратному забезпеченні, доступному для придбання, і вони регулярно використовуються. Дякуємо за вашу віру ProQ.
Роб

Є також Yao (розширюваний, ефективний квантовий алгоритм проектування для людей), написаний у Джулії, github.com/QuantumBFS/Yao.jl . І тут, і тут ви знайдете порівняння.
скан

Відповіді:


35

Список Вікіпедії мов програмування Quantum Computer

(Ця відповідь не є копією цієї веб-сторінки, вона є більш оновленою та підтвердженими посиланнями. У деяких випадках додається авторська папір або посилання на веб-сайт.)

На веб-сайті Quantum Computing Report є веб-сторінка «Інструменти», в якій перелічено десяток посилань, деякі нові та повторювані вище.

Дивіться також веб-сторінку QuanTiki: " Список тренажерів QC ", для величезного списку тренажерів та мов програмування на основі: C / C ++, CaML, OCaml, F #, а також на основі GUI, Java, JavaScript, Julia, Maple, Mathematica, Maxima , Matlab / Octave, .NET, Perl / PHP, Python, Scheme / Haskell / LISP / ML та інші онлайн-сервіси, що надають калькулятори, компілятори, тренажери та набори інструментів тощо.

Чи є певні переваги у виборі конкретних?

Якщо ви плануєте використовувати певний квантовий комп'ютер, то можна сподіватися, що мова програмування, розроблена виробником, найкраще підходить для цієї машини та добре підтримується.

Вибір мови з більшою наступною ознакою означає, що доступно більше форумів, і, сподіваємось, більше виправлень та підтримки помилок.

На жаль, це залишає деякі чудові ніші продукти, щоб боротися за отримання бази користувачів. Спроба знайти одну мову, яка є потужною / виразною та підтримується на різних платформах - це хитрість, відповідь - це думка банкомату.

Оцінка чотирьох програмних платформ: Forest (pyQuil), QISKit, ProjectQ та Quantum Kit Developer Kit пропонує Райан ЛаРоз у "Огляді та порівнянні квантових програмних платформ рівня рівня воріт " (6 липня 2018 року).


Оновлення:

Cirq і OpenFermion-Cirq від Google : " AI Blog of Google - оголошення Cirq: рамка з відкритим кодом для алгоритмів NISQ ".

SD- пакет Leap and Ocean D-Wave дозволяє отримати доступ до системи D-Wave 2000Q ™ у хмарному середовищі з доступом до квантового відпалу 2000+ кубічної машини для тестування та запуску робочих навантажень безкоштовно, припускаючи, що основні алгоритми, що використовуються, переходять у пул відкритих джерел . Подайте заявку на вхід на веб-сторінку Le-In у стрибках D-Wave .

Служба квантових хмарних послуг (QCS) Rigetti Computing пропонує зображення зображення квантової машини, віртуалізоване середовище програмування та виконання, попередньо налаштоване з Forest 2.0, для доступу до 16 кубітів 128-ти кубітного комп'ютера.

Слідкуйте за інформацією про цифровий віджиг Fujitsu , архітектуру, здатну виконати обчислення приблизно в 10000 разів швидше, ніж звичайний комп'ютер. Якщо вони врешті-решт забезпечать середовище розробки, сумісне з справжніми квантовими комп'ютерами, ці два абзаци залишаться у цій відповіді, інакше я їх видалю.

Хоча їх кремнієвий чіп не є квантовим за своєю суттю, Fujitsu співпрацює з 1Qbit, щоб розробити те, що описується як " Квантовий натхненний AI хмарний сервіс ", чи то їх Digital Annealer трясеться як качка (віджигає як D-Wave і використовує сумісний код) залишається побачити. Завітайте сюди, щоб отримати доступ до технічної служби цифрового віджигу Fujitsu Digital .

QWIRE ( хор ) Університету Пенсільванії - це мова з квантовими схемами та формальним інструментом перевірки, він має веб-сторінку GitHub .

Огляд: Cirq, Cliffords.jl, dimod, dwave-system, FermiLib, Forest (pyQuil & Grove), OpenFermion, ProjectQ, PyZX, QGL.jl, Qbsolv, Qiskit Terra і Aqua, Підручники Qiskit та Qiskit.js, Qrack, Quantum Fog, Quantum ++, Qubiter, Quirk, reference-qvm, ScaffCC, Полуничні поля, XACC та нарешті XACC VQE пропонується у статті: " Програмне забезпечення з відкритим кодом у квантових обчисленнях " (21 грудня 2018), Марк Фінгерхут, Томаш Бабей та Пітер Віттек.

Я час від часу повернусь до цієї відповіді, щоб робити оновлення, без надмірних ударів .



Новини, пов'язані з "програмуванням": IBM оголошує 53 комп’ютера Qubit, доступного для наступного місяця , для користування громадськістю.
Роб

28

Постачальники обладнання апаратів Gate створили власні мови низького рівня:

У них доступний sdk піттона вищого рівня:

Rigetti також перекладає свою мову в бібліотеку вищого рівня для виклику попередньо вбудованих додатків під назвою Grove .

Корпорація Майкрософт розробила Q #, щоб протистояти їх наявному симулятору та врешті-решт їхньому фізичному обладнання.

Оскільки мови, зазначені вище, є специфічними для продавця, головна перевага полягає в тому, що ви можете запускати квантові програми на своїх комп’ютерах.

Поза специфічними мовами для постачальників є ліси, які розробляються дослідниками Прінстона. Ця мова цікава, оскільки містить ланцюжок інструментів для аналізу програм для визначення витрат, потенціалу продуктивності та потенціалу масштабування.

Редагувати: Project Q - ще одна основа, яка дозволяє розробляти програми, що використовують Python, які можуть працювати на включеному тренажері.

Oak Ridge National Labs розпочав роботу над проектом під назвою XACC, який призначений для абстрактного коду конкретного постачальника, щоб дозволити користувачам доступ до різних апаратних платформ без дублювання коду на кожному конкретному мові постачальника.


3
projectq.ch також заслуговує на згадку.
Джеймс Вуттон

1
Мені подобається ця відповідь, оскільки вона пояснює, які мови насправді можуть працювати проти існуючого обладнання .
DanielSank

5

Або навіть подивитися на Quipper , функціональну мову програмування Quantum. Завдяки монадійній семантиці, вбудованій в функціонал для зворотного квантового обчислення, підтримку ієрархічної схеми тощо! Використовується і в фактичній практиці - для алгоритму обчислення рішення рівняння Дірака за допомогою LaFlamme.


3

Я б включив композитор IBM. Це не так, як програмування, оскільки ви не отримуєте всіх помилок та помилок та функціональності, але чітко перетворює ваші вказівки щодо шлюзів у QASM і запускає їх на справжньому симуляторі IBM або на справжньому квантовому комп'ютері IBM (вибір - користувача).


1

На жаль, список на Квантікі досить старий і недостатньо підтримуваний. Навіть перелік усіх квантових мов програмування в одній відповіді на це питання не є стійким, оскільки квантовий пейзаж постійно розвивається. Наприклад, Google нещодавно випустила Cirq , нову систему квантового програмування для комп'ютерів NISQ з середньою шумною проміжною шкалою, яка не міститься в жодній з вищезазначених відповідей, оскільки вона була оголошена лише пару днів тому.

Щоб вирішити цю проблему і як відповідь на інше запитання щодо QC StackExchange, я створив кураторний список проектів програмного забезпечення з відкритим кодом на GitHub, який також включає вичерпний огляд активно розроблених квантових мов програмування та рамок. Список активно підтримується громадою, і ми постійно додаємо нові проекти.


2
Це виглядає як чудовий ресурс. Дякую! Цікаво, чи є ще один подібний список проектів, які не є просто відкритим кодом.
Pro Q

1
@ Чесно кажучи, я вважаю, що список з відкритим кодом охоплює> 95% простору програмного забезпечення кванту. Існують ледве будь-які пакети із закритим кодом із загальнодоступним доступом, і ви б не переймалися квантовим програмним забезпеченням, яке використовується всередині якоїсь компанії без доступу громадськості.
Марк Фінгерхут
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.