Проект по написанию книги «Квантовые вычисления и функциональное программирование»
Идея книги про модель квантовых вычислений появилась у меня в голове уже давно. Сразу после прохождения курса по квантовой механике и квантовым вычислениям на Coursera (краткое описание см. здесь) у меня в голове родился вопрос: «Почему же это курс по квантовым вычислениям устроен так, что программисту он довольно непонятен, но, скорее, рассчитан на физика?». Сама модель квантовых вычислений меня поразила до глубины души, и после глубочайших раздумий я начал поглощать одну книгу за другой, одну статью за другой. В итоге после прочтения и изучения более 20 источников на русском языке я прихожу к неутешительному выводу — ещё не написана книга о модели квантовых вычислений, которая объясняла бы эту модель прикладному программисту. Ведь что получается? Большинство источников сегодня рассказывают про ядерные спины, ионные ловушки, нотацию Дирака и суперпозицию, объясняя всё это для физика. Но как прикладной программист очень часто не имеет никакого понятия по физических процессах, происходящих внутри обычного процессора, так и в данном случае разъяснение физических принципов реализации унитарных преобразований в виде особого вида гамильтонианов в уравнении Шрёдингера больше затуманивает суть вещей для разработчика программ, нежели раскрывает красоту и мощь этой новой модели. Именно эти размышления побудили меня начать обдумывание идеи о написании книги про квантовые вычисления, в которой не было бы акцента на физике процессов, но в которой давалось бы вполне доступное понимание того, как создавать квантовые алгоритмы. Ведь, например, вопросам квантовой схемотехники и проектированию алгоритмов в существующей литературе по квантовым вычислениям вообще не уделяется никакого внимания. Более того, в некоторых книгах говорится о том, что все существующие на сегодняшний момент квантовые алгоритмы являются результатом снизошедших на гениев озарений. Отчасти, это вполне так, поскольку квантовая механика в своей основе контр-интуитивна. Но разъяснить именно программисту-прикладнику то, как строить квантовые схемы для получения того или иного результата, вполне возможно.Что там дальше-то?