Началось все с того, что я застрял на 19-ой странице книги Душкина Р."Квантовые вычисления и функциональное программирование".. В упор не понимал я что такое квантовое состояние и кубит и что за этими терминами стоит, в физическом смысле. Понял, что мне нужен какой-то минимум знаний и нашел книгу книгу quantum_mechanics_the_theoretical_minimum. Решил читать и делать небольшие заметки из книги для понимания прочитанного.
Книга quantum_mechanics_the_theoretical_minimum начинается с описания отличий квантовой механики от классической механики. Существует два крупных отличия:
1) Идея состояния. Квантовое состояние системы сильно отличается от классического. Состояния описывают различными математическими объектами, которые имеют разную логическую структуру.
2) В классической механике связь между состоянием и измерением прямая. Есть состояние, измерили характеристику, получили однозначный результат. В квантовой механике состояние и измерение это разные вещи. Связь между ними не прямая, а порой кажется, что она контринтуитивна.
Далее идет глава Spins and Qubits, в которой дают описание: спин это свойство, такое же как масса или заряд(а раньше я думал, что спин это то, куда электрон, как если бы он был шариком вращается, хотя, конечно, это не так).
Далее в книге забывают о связи электрона и спина и рассматривают спин обособлено. Вот такой изолированный спин представляют собой квантовую систему - кубит (которую далее обсуждает Душкин Р. на 19 странице своей книги). Далее в книге систему (кубит) рассматривают не только как систему, но систему совместно с прибором, который проводит измерения этой системы.
Глава 1.3 An Experiment описывает эксперимент, в котором предлагают измерять состояние системы, которое может быть либо -1, либо +1. Также считают, что спин это характеристика системы, которая имеет смысл ориентации системы в пространстве (такая некая стрелочка, которая куда-то указывает, как стрелочка компаса). Есть прибор, который измеряет состояние и отображает его на экране (это sigma). Изначально прибор показывает ? так как мы ничего не знаем о положении системы. На самом приборе нарисована стрелочка вверх (это m), которая показывает как сам прибор ориентирован в пространстве. Если спин сонаправлен со стрелочкой прибора, то прибор отображает +1, если контрнаправлен, то -1.
Далее последуют картинки серии экспериментов, взятые из книги.
Спин показывает ориентацию системы в пространстве, которое мы можем измерить с помощью прибора. Прибор показывает состояние системы (либо +1, либо -1), в зависимости от собственного положения. В пространстве 3 измерения (пусть будет так). Если мы соглашаемся с тем, что спин это вектор, который характеризует положение системы в пространстве, то мы припишем этому вектору три значения (x, y, z).
Далее мы возьмем и сориентируем прибор вдоль оси z, так чтобы прибор показал +1 (рисунок 1), а потом повернем прибор как на картинке 3 и ожидаем того, что прибор покажет 0. Но он так не покажет, он показывает либо +1, либо -1 и никак иначе. В случае нашего допущения о векторе - это выглядит странно, потому что в случае вектора одна из компонент просто должна быть 0. Но, увы.
Несмотря на это, опять сориентируем прибор по z и снова повернем на 90 градусов, то есть повторим эксперимент. И получим какое-то случайное значение +1 или -1. Повторим такие эксперименты много-много раз и в среднем получим среднее значение sigma вдоль x равное 0, ну то есть в среднем все-таки равен 0.
Для большего понимания и практического закрепления материала я набросал скрипт на python, который рассчитывает среднее значение на основании заданного числа экспериментов
[python]
!/usr/bin/env python
-- coding: utf-8 --
from future import unicode_literals
""" Generate N pseudorandom number +1 OR -1 and calculate average value """
from math import sqrt, log, e
import random
author = "Viktor Zharina"
copyright = "Copyright 2016"
credits = ["Viktor Zharina"]
license = "MIT"
version = "0.0.1"
email = "viktorz1986@gmail.com"
available_states = [-1, 1]
n_samples = 10000
random_states = [
random.choice(available_states) for _sample in range(n_samples)
]
avg = sum(random_states) / float(n_samples)
print(avg)
[/python]
Теперь будем поворачивать не на 90 градусов а на произвольный угол и тогда в среднем получим значение cos theta.
В общем фишка тут в том, что мы на экране прибора видим либо -1, либо +1, но при этом проводя несколько измерений можем получить среднее значение и узнать как спин сориентирован в пространстве.
Но в реальной жизни ситуация более общая. Сориентируем прибор так, чтобы он показал +1 (как бы получаем ориентацию вдоль вектора m). Потом не меняя спин поворачиваем прибор и снова смотрим на экран прибора, получим случайное значение +1, либо -1. В среднем получим значение равное скалярному произведению вектора n на m.
Вывод: с квантовомеханической системой можно работать. Однако результат будет не точным, а средним исходя из большого числа измерений. И все бы ничего, если процесс измерения не вносил существенные поправки в саму систему...
Доп. информация
Спин электрона. Опыт Штерна и Герлаха
Прошлые записи
- Telegram бот на Rust, два, три и Raspberry Pi 2
- Мысли насчет ChatGPT
- Mashinka на Rust. Первые впечатления.
- Перевод - Почему бумага формата А4 имеет размер 297 мм на 210 мм?
- Эволюция веб-приложений. От раздачи статики до Serverless
- Эволюция веб-приложений. От статичного HTML до Single Page Application и Progressive Web Application
- Переезд в Калининград
- Была ли спецоперация на Украине неизбежна?
- О serverless технологии для чатботов
- Свободное время на улучшение блога
- О жизни в Калининграде спустя год