Как стать автором
Обновить

Комментарии 21

Тут на обычном многопоточном программировании зависаешь, а тут ещё и суперпозицию в голове держать. Профессиональные программисты подобных вещей не будут тихо галоперидол потом есть?
Боюсь, после определенной концентрации суперпозиций на одно полушарие, программистам придется насильно укольчики делать.
Ну а если серьезно, мне, допустим, сложновато воспринимать штуки, которые непонятно как визуализировать. Все эти комплексные числа, n-мерные тензорные пространства и вот это вот все. Те же множества и операции с ними вполне можно объяснить ученику начальных классов, используя стандартные рисунки с окружностями. Вполне можно было добавить к этой статье сферу Блоха, которая упоминается в статье Аниты. Хотя визуальное представление кубита все равно не слишком упрощает понимание, что делать с целой коробкой этих «шариков» =)
Microsoft! Заранее извиняюсь, что не по теме, но всюду куда писал либо игнор, либо игнор. Ищу давно и безрезультатно Windows DDK for Windows 3.0. Да, driver development kit для Windows 3.0.

Возможно, заблуждаюсь, но… Что общего в понятиях "квантовое программирование", "линейное программирование" и "объектно-ориентированное программирование"? Правильный ответ — в их названиях есть слово "программирование" =) Думаю, в шутке таки есть щепотка истины.


Есть достаточно много открытых и не только материалов для приобщения к квантовому миру, но от себя хочу порекомендовать замечательный русскоязычный курс от СПбГУ "Квантовые вычисления" (Coursera, Stepic) и онлайн-редактор квантовых схем Quirk — курс даёт начальное представление о том, что вообще происходит и зачем мы всё это делаем, а редактор позволяет вдоволь поиграться с вентилями и реализовать простые квантовые схемы и алгоритмы.


Спойлер: бам, это всё линейная алгебра и жонглирование операторами, а эти ваши модные "квантовые" языки программирования — всего лишь синтаксический сахар над матричными операциями!

Спойлер: бам, квантовая физика и за пределами квантовых компьютеров — это матричные вычисления. А нотация Эйнштейна и бракеты — просто синтаксический сахар для удобства записи.

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


К сожалению (или к счастью?), да, квантовую "чуйку" развить с нуля простому смертному будет довольно трудно — нужен сильный царь мат. аппарат в голове и соответствующие навыки линейной алгебры. Увы, все мы в детстве складывали кубики и делили яблоки, а не эволюционировали волновые функции и не вращали вектора состояний в 2n-мерном пространстве — по этому поводу весьма занятно высказался К.Мухин в потрясающей книге «Занимательная ядерная физика»: "квантовую механику — младенцам!"

Ну как же так, ведь здесь прямая аналогия с комплексными числами. С комплексными же всем понятно, что это комплекс из двух чисел, и матричками надо его, матричками. Вот так и здесь. Я бы, пожалуй, так это и объяснял.

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


Дети постарше, разумеется, сразу же лезли в ту коробку, в которую клали мячик. А вот совсем мелкие (кажется, до года) искали мячик в обеих коробках.


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

Может имело смысл код вставить в виде текста, что-бы не гемороиться с чего перенабором?
Код множества примеров, в том числе и аналогичного используемому в статье доступен на GitHub github.com/Microsoft/Quantum/tree/master/Samples
Но я всё равно постараюсь переделать. Торопился выложить, пошёл по более простому пути.
Done. Спасибо vadi_polu за помощь.
Формулы с кусками английского текста добили перевод и без того не самой простой публикации. Но вместе с базовой википедией кое-какое начальное представление о предмете статья дает.
Мало комментов на столь интригующую тему, так как люди еще не созрели
Понял в статье всё, хотя местами перевод немного перекашивало

Спасибо за ссылки на репозиторий и блог)
НЛО прилетело и опубликовало эту надпись здесь
На обычном компьютере, локально или в облаке. Обратите внимание на код C#, в котором запускается QuantumSimulator.
Очень интересна вся эта тема с квантовыми компьютерами, хочется попробовать покопаться, но встает проблема — для меня работает только, если есть какая-то интересная актуальная задача, которую надо решить, тогда получается повозиться и поразбираться. Я знаю про разложение на множители, которое должно супер-быстро решаться, но вот что есть такого еще прикладного, что может пригодиться здесь и сейчас, что имеет смысл решать квантовым программированием? Буду рад каким-то идеям и ссылкам
Дык, вот и начните с разложения на множители. Мне вот очень интересно, как жонглирование суперпозициями поможет супер-быстро что-то сделать в реальном мире и на реальной задаче.

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

Нельзя просто взять и "покопаться" :)


Во-первых, как было осторожно предположено выше, квантовое "программирование" крайне далеко от повседневного понятия программирования (будь то разработка ядер Linux на C, дизайн железа на VHDL/Verilog, или тем более это ваше модное смуззи-based web/front-/back-end). UPD: хотя вот как раз к проектированию схем на VHDL/Verilog это всё же довольно близко, похоже.


Во-вторых, экосистема ещё только начинает осторожно выходить в свет:


  • прикладное направление (физическая реализация кубитов, гейтов, оракулов, все эти адиабатические шкафы, лазеры и платы при абсолютном нуле);
  • теоретическое (разработка алгоритмов, пример — разрекламированные алгоритмы Гровера, Шора, и ещё несколько десятков более специфичных и менее известных простым смертным);
  • … и такое вот "прикладное", которое про реализацию и оптимизацию (!) квантовых схем (вот это как раз про языки, схемы и эмуляцию — то, что уже сейчас можно потрогать).

В первые два направления, очевидно, нельзя просто взять и прийти (нужна серьёзная подготовка в соответствующих учебных заведениях и на соответствующих кафедрах). Однако, определенную минимальную базу можно получить, изучая открытые источники. Крайне рекомендую курс от СПбГУ "Квантовые вычисления" (ссылки в посте выше) и онлайн-редактор квантовых схем Quirk — очень наглядный и удобный инструмент.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий