пятница, 2 декабря 2016 г.

Формула суммирования Пуассона

Давным давно, когда был я чуть ли ещё не школьником, была у меня глупая привычка покупать научные книжки, даже если я и не очень понимал что в них написано. Одной из таких книжек (точнее, два тома) была монография “Упаковки шаров, решетки и группы” Конвея и Слоэна. Очень мне понравилась тогда бумага, на которой она напечатана — с одной стороны листа гладкая, а с другой — шершавая. И содержание тоже ничего было, хоть я тогда и много не понимал. И вот что меня поразило: оказывается, ко времени написания книжки не была доказана оптимальность даже гранецентрированной кубической упаковки в трёхмерье. Там, если я помню правильно, про эту оптимальность было написано как-то так: "все математики верят, а физики знают". Ещё я из этой книжки вынес, что размерности 8 и 24 --- какие-то особенные.

Так вот, оказывается, с тех пор многое изменилось. Оптимальность гранецентрированной кубической упаковки доказана в 1998 г. Томасом Халесом (Thomas Hales). А в начале этого года совсем молодая девушка-математик Марина Вязовска доказала оптимальность упаковки $\Lambda_8$ в восьмимерье (arXiv:1603.04246). И буквально через неделю вышла работа arXiv:1603.06518 с доказательством оптимальности упаковки для решётки Лича в 24-мерье, основанная на доказательстве в восьмимерье.

Работа Марины Вязовской концептуально очень ясная и опирается на ограничение на плотность упаковки сверху, полученному в работе arXiv:math/0110009. Это простое и, как оказывается, очень мощное ограничение доказывается с помощью формулы суммирования Пуассона. Если Фурье-преобразование функции $f(\boldsymbol{x})$ определить формулой \[\hat{f}\left(\boldsymbol{t}\right)=\int f\left(\boldsymbol{x}\right)e^{2\pi i\boldsymbol{x}\boldsymbol{t}}d\boldsymbol{x}\,,\]то справедлива следующая формула:\[\sum_{\boldsymbol{x}\in\Lambda}f\left(\boldsymbol{x}\right)=\frac{1}{\left|\Lambda\right|}\sum_{\boldsymbol{t}\in\Lambda^{*}}\hat{f}\left(\boldsymbol{t}\right)\,.\]Здесь $\Lambda$ — любая решётка в $\mathbb{R}^{n}$, $\left|\Lambda\right|$— объём её элементарной ячейки, $\Lambda^{*}$ — двойственная к $\Lambda$ решётка. Если не гнаться за строгостью, эту формулу можно доказать так: \[ \frac{1}{\left|\Lambda\right|}\sum_{\boldsymbol{t}\in\Lambda^{*}}\hat{f}\left(\boldsymbol{t}\right)=\frac{1}{\left|\Lambda\right|}\sum_{\boldsymbol{t}\in\Lambda^{*}}\int f\left(\boldsymbol{x}\right)e^{2\pi i\boldsymbol{x}\boldsymbol{t}}d\boldsymbol{x}=\int f\left(\boldsymbol{x}\right)\frac{1}{\left|\Lambda\right|}\sum_{\boldsymbol{t}\in\Lambda^{*}}e^{2\pi i\boldsymbol{x}\boldsymbol{t}}d\boldsymbol{x}=\int f\left(\boldsymbol{x}\right)\sum_{\boldsymbol{y}\in\Lambda}\delta\left(\boldsymbol{y}-\boldsymbol{x}\right)d\boldsymbol{x}=\sum_{\boldsymbol{x}\in\Lambda}f\left(\boldsymbol{x}\right)\,. \] Ну, естественно, чтобы формула имела смысл, нужно чтобы функция и её Фурье-образ достаточно быстро спадали на бесконечности. Если сдвинуть аргумент в правой части на $\boldsymbol{v}$, то из свойств Фурье-преобразования имеем \[ \sum_{\boldsymbol{x}\in\Lambda}f\left(\boldsymbol{x}+\boldsymbol{v}\right)=\frac{1}{\left|\Lambda\right|}\sum_{\boldsymbol{t}\in\Lambda^{*}}e^{-2\pi i\boldsymbol{v}\boldsymbol{t}}\hat{f}\left(\boldsymbol{t}\right)\,. \] Это как раз формула (2.1) из math/0110009. Далее доказывается следующая теорема. Допустим, что мы нашли функцию $f$ со следующими свойствами \begin{align*} 1. & f\left(\boldsymbol{x}\right)\leqslant0\text{ для }\left|\boldsymbol{x}\right|\geqslant1\\ 2. & \hat{f}\left(\boldsymbol{t}\right)\geqslant0\text{ для любого }\boldsymbol{t} \end{align*} Тогда центральная плотность (=число центров единичных шаров на единичный объём) периодических упаковок ограничена сверху величиной $\frac{f\left(0\right)}{2^{n}\hat{f}\left(0\right)}$. Вот такое неожиданное утверждение --- где функция, а где упаковка.
Доказательство совсем не сложное: пусть периодичность упаковки определяется решёткой $\Lambda$, причём в элементарной ячейке находится $N$ шаров. Для дальнейшего удобно считать, что радиус шаров равен $1/2$, так что расстояния между центрами любых двух не меньше единицы. Пусть расположение центров в элементарной ячейке задаётся векторами $\boldsymbol{v}_{1},\ldots,\boldsymbol{v}_{N}$. Запишем формулу суммирования Пуассона в таком виде \begin{equation} \sum_{j,k=1}^{N}\sum_{\boldsymbol{x}\in\Lambda}f\left(\boldsymbol{x}+\boldsymbol{v}_{j}-\boldsymbol{v}_{k}\right)=\sum_{j,k=1}^{N}\frac{1}{\left|\Lambda\right|}\sum_{\boldsymbol{t}\in\Lambda^{*}}e^{-2\pi i\left(\boldsymbol{v}_{j}-\boldsymbol{v}_{k}\right)\boldsymbol{t}}\hat{f}\left(\boldsymbol{t}\right)=\frac{1}{\left|\Lambda\right|}\sum_{\boldsymbol{t}\in\Lambda^{*}}\left|\sum_{k=1}^{N}e^{2\pi i\boldsymbol{v}_{k}\boldsymbol{t}}\right|^{2}\hat{f}\left(\boldsymbol{t}\right)\,.\label{eq:Poisson1} \end{equation} Аргумент $\boldsymbol{x}+\boldsymbol{v}_{j}-\boldsymbol{v}_{k}$ в левой части можно рассматривать как вектор, соединяющий центры шаров в точках $\boldsymbol{x}+\boldsymbol{v}_{j}$ и $\boldsymbol{v}_{k}$. Поэтому он может быть по модулю меньше единицы только если это один и тот же шар, т.е. $\boldsymbol{x}=0$, $j=k$. А значит, левая часть не больше $Nf\left(0\right)$. В правой части все слагаемые неотрицательны, поэтому она не меньше одного члена суммы с $\boldsymbol{t}=0$, т.е. $N^{2}\hat{f}\left(0\right)/\left|\Lambda\right|$. Поэтому получаем \[ Nf\left(0\right)\geqslant N^{2}\hat{f}\left(0\right)/\left|\Lambda\right| \] Поскольку наши шары имеют радиус $r=1/2$, центральная плотность равна $\delta=\frac{Nr^{n}}{\left|\Lambda\right|}=\frac{N}{\left|\Lambda\right|2^{n}}$ и мы имеем желаемое утверждение \[ \delta\leqslant\frac{f\left(0\right)}{2^{n}\hat{f}\left(0\right)}\,. \] А что же сделала Марина Вязовска? Она построила  для $\mathbb{R}^{8}$ такую функцию $f$, что выведенная оценка сверху оказывается совпадающей с плотностью решётки $\Lambda_8$, которая определяется как \begin{equation}\Lambda_8 = \left\{(x_i) ∈ \mathbb{Z}^8 \cup (\mathbb{Z}+1/2)^8 \bigg|\sum x_i = 0 (\mathrm{mod} 2)\right\}.\end{equation} Ясно, что это сделать ну очень непросто: те члены сумм в обеих частях равенства \eqref{eq:Poisson1}, которыми мы пренебрегали для получения неравенства, должны быть равны нулю чтобы позволить точное равенство. Кстати, уже из определения решётки $\Lambda_8$ видно, чем замечательно 8-мерное пространство. Расстояние между точками решетки $(0,0,0,0,0,0,0,0)$ и $(\frac12,\frac12,\frac12,\frac12,\frac12,\frac12,\frac12,\frac12)$ равно $\sqrt{2}$, как и расстояние между $(0,0,0,0,0,0,0,0)$ и $(1,1,0,0,0,0,0,0)$. Можно посчитать контактное число: \[240=4{8 \choose 2}+2+2{8 \choose 2}+{8\choose 4}\] Как построена требуемая функция напишу как-нибудь в другой раз.

среда, 18 мая 2016 г.

Квантовый параллелизм.

В начале прошлого года случилось поучаствовать в настоящей математической конференции по функциональным уравнениям. Я был приятно удивлен тем, что бо́льшая часть докладов оказалась вполне воспринимаема. Причина, конечно, не в том, что я такой умный — на физических конференциях очень часто из доклада я мало что могу понять — а в том, что математики больше стремятся сделать свой доклад понятным и меньше пускают пыль в глаза. Ну так мне показалось. И кроме меня был там еще один физик, который рассказывал про квантовый компьютер — а точнее, про запиленный им с соавторами эмулятор оного. На мой взгляд, доклад был совсем пустячный, но вот что интересно. В том месте где было гордо сказано, что после работы программы есть еще стадия считывания, на которой можно получить различные измеренные результаты с определенными вероятностями, я заметил среди слушателей искреннее недоумение. Подозреваю, что дело тут в неправильной подаче материала, призванной произвести эффект, а не сделать предмет понятным, но оставим это на совести докладчика.

 В черновиках моего блога есть материал, который я давно уже начал, но никак не могу закончить. Про алгоритм Шора для факторизации чисел на квантовом компьютере. Фактически, с этого алгоритма начался — а злые языки говорят, что и закончится — квантовый компьютер. Оригинальная статья написана хорошо и понятно, но мне хотелось объяснить этот алгоритм ещё более просто — так чтобы могли прочитать и понять студенты (хотя бы те, которые раз прослушали его в моём исполнении). Поскольку пост завяз, я решил откусить часть изложения и поместить в отдельный пост, это и делаю.

Когда говорят про алгоритм Шора, вспоминают принцип суперпозиции в квантовой механике, позволяющий якобы эффективно проводить вычисления параллельно сразу для всех возможных входных данных. Вот про этот параллелизм и пойдёт речь. Как я уже объяснял где-то в этом блоге, "память" квантового компьютера представляет из себя т.н. q-регистр, состоящий из нескольких q-бит. Каждый q-бит — двухуровневая система, состояние которой описывается спинором — вектором в пространстве $\mathbb{C}^2$, а еще лучше сказать  в $\mathbb{CP}^1$. q-бит может находиться не только в состояниях $\mathbf{1}={1 \choose 0} $ и $\mathbf{0}={0 \choose 1} $, но и в произвольной их суперпозиции с комплексными коэффициентами.

Важно, что когда q-биты сгруппированы в q-регистр, состояние последнего уже описывается вектором в тензорном произведении пространств, соответствующих отдельным q-битам. Если наш q-регистр состоит из $n$ q-битов, то его состояние есть суперпозиция $2^n$ базисных состояний, каждое из которых естественно нумеровать $n$-значным двоичным числом, то есть базисные векторы будем обозначать как\[|\underbrace{01011\ldots}_{n \text{ разрядов}}\rangle\] Система команд квантового компьютера обычно включает однобитные и двухбитные унитарные преобразования — гейты (в русской литературе вентили). Вычисление состоит из применения заданной последовательности гейтов (задание этой последовательности и является "программой"), и его удобно изображать диаграммой, в которой каждому q-биту соответствует горизонтальная линия, однобитовым гейтам — блобы на ней, а двухбитовым — блобы с коннекторами. Не буду загромождать эту заметку описанием стандартных гейтов и диаграммной техники, так как это нормально написано и в английской Википедии. Замечу мимоходом, что использование диаграмм для наглядного представления "частичных" преобразований в тензорных произведениях пространств является очень стандартным приёмом, который, к тому же, может найти и совершенно неожиданные применения (ну, для меня неожиданные, а кто-то с ними ест и спит).

Нам для рассуждений понадобится только преобразования — NOT, CNOT и CCNOT (т.н. Toffoli gate). Первое является однобитовым отрицанием, второе — двухбитным преобразованием, которое инвертирует или не инвертирует второй бит в зависимости от того установлен или нет первый. Третье преобразование является трёхбитным и сводится к инверсии третьего бита в случае, если оба первых установлены. Его можно реализовать как последовательность бвухбитных, но сейчас не о том речь. Достаточно определить эти преобразования для базисных состояний одного, двух или трёх q-битов, а для произвольных состояний, конечно, всё будет определено по линейности.

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

Другое отличие состоит в том, что считывание информации из q-регистра, или из отдельных его битов, абсолютно непохоже на классическое. Если в классическом регистре можно всегда безнаказанно считать любой бит, не изменив его состояние, то в q-регистре так, хотя бы в принципе, можно сделать для q-битов, находящихся строго в одном из базисных состояний $0$ или $1$ (тут педанты могут меня поправить, что достаточно знать, что кубит находится в одном из двух ортогональных состояний). В остальных случаях: а) результат считывания не определён (например, для одного бита можно получить с определенными вероятностями и $0$ и $1$) и б) после считывания состояние q-регистра меняется. Поэтому обычно считывание происходит только один раз — в конце вычисления. Отсюда, скажем, следует, что инструкция ветвления if (x==1) then do something не может быть буквально перенесена в квантовую программу, поскольку, по-крайней мере в классическом вычислении, предполагает считывание значения x. Но тем не менее, есть утверждение о том, что все логические операции можно реализовать с помощью одной — например, с помощью NAND(A,B)=NOT(AND(A,B)). Доказательство этого утверждения сводится к набору упражнений на построение остальных операций из NAND. Вот, например,отрицание NOT(A) строится как NAND(A,A). На всякий случай, напомню, что арифметические операции можно легко построить из логических. Конечно, вопрос про копирование в классических вычислениях не задаётся — считается, что это и не операция вовсе.

Значит, чтобы научиться выполнять классические программы на квантовом компьютере, мы должны понять как выглядят аналоги копирования и операции NAND. Оба эти вопроса решаются использованием дополнительных предустановленных битов (или предсброшенных). Вот скажем, если есть предусмотрительно запасённый бит C в состоянии $0$, мы в него можем скопировать другой бит A, просто выполнив преобразование CNOT(A,C). Также в этот бит можно поместить NAND(A,B). Просто нужно выполнить программу NOT(C);CCNOT(A,B,C). Первая инструкция инвертирует бит C,  а вторая выполняет Toffoli gate, "помещая" в C результат вычисления XOR(C,AND(A,B))=XOR(1,AND(A,B))=NAND(A,B).

Таким образом, если у нас есть некоторый классический алгоритм вычисления функции $f(x)$ для любого заданного двоичного $n$-значного числа $x$, мы можем написать P программу для квантового компьютера, которая вектор состояния $|x,0,\ldots\rangle$ переводит в $|x,f(x),g(x)\rangle$ где $g(x)$ обозначает испорченные в процессе вычисления вспомогательные q-биты. Отметим, что эта испорченность зависит от $x$.

Наконец мы готовы обсудить квантовый параллелизм. Итак, пусть у нас есть q-регистр, находящийсяв состоянии \[\frac1{2^{n/2}}\sum_x|x,0,\ldots\rangle\] Благодаря линейности квантовых преобразований, ранее упомянутая программа P переведёт этот вектор в \[\frac1{2^{n/2}}\sum_x|x,f(x),g(x)\rangle\,,\] где $f(x)$ — полезная функция, а $g(x)$ — мусор.

Так вот, одно из объяснений в статье Шора, которое я при поверхностном прочтении статьи и не понял, и ради которого, собственно, и писал эту заметку, касается того, как этот мусор убрать, не нарушая квантовую когерентность. Идея простая до безобразия (и оттого особенно красивая) состоит в том, чтобы после получения результата "скопировать" его в чистую область памяти, а затем произвести "undo" всей программы P. То есть, если программа P осуществляет унитарное преобразование $U$, то мы делаем такую последовательность действий: \begin{multline}\frac1{2^{n/2}}\sum_x|x,0,\ldots\rangle\stackrel{U}{\longrightarrow} \frac1{2^{n/2}}\sum_x|x,f(x),g(x),0,\ldots\rangle \\ \stackrel{\text{copy}}{\longrightarrow}\frac1{2^{n/2}}\sum_x|x,f(x),g(x),f(x)\rangle \stackrel{U^{-1}}{\longrightarrow}\frac1{2^{n/2}}\sum_x|x,0,\ldots,0,f(x)\rangle \end{multline} При беглом прочтении я никак не мог взять в толк, зачем нужно заботиться об обнулении вспомогательных битов.

Кажется, что мы наконец-то получили параллельное вычисление сразу для всех возможных входных данных, и если бы у нас был механизм определения вектора состояния, то это, конечно, так и было бы. Но тут в игру вступает квантовая механика, которая как-бы говорит "Хоть я и знаю всё, отвечу я только на один твой вопрос — задавай". То есть, попытка измерения разрушит когерентность и даст $f(x)$ только для одного значения $x$, причём, выбрать, для какого конкретно, не удастся. Так что, как использовать такой параллелизм — это ещё надо подумать. Но об этом напишу отдельно.

P.S. Кстати, про "один вопрос" вспомнился такой заумный анекдот:
На заседание философского общества спустился с неба ангел, и предложил философам ответить на любой их вопрос, но только на один. Философы начали спорить о том, какой вопрос задать. Ангел сказал: "ну вы тут решайте, я завтра вернусь и спросите". Некоторые философы предлагали связать несколько вопросов конъюнкцией, но другие возражали, что ангел не согласится считать это одним вопросом. Один философ предложил спросить ангела: "Какой вопрос самый лучший?", и потом, зная вопрос, подождать, пока не прилетит другой ангел в будущем. Но другие философы возражали, что не факт, что визит когда-либо повторится, и жалко тогда терять этот шанс. Наконец, философы договорились, и когда ангел вернулся на следующий день, задали ему следующий вопрос: "Какова упорядоченная пара, первый элемент который является лучшим вопросом, который можно задать ангелу, а второй элемент - ответом на этот вопрос?" Ангел тут же ответил: "Это упорядоченная пара, первым элементом которой является вопрос, который вы только что задали, а вторым - ответ, который я вам даю". И исчез.

вторник, 26 апреля 2016 г.

Состояния фон Неймана-Вигнера


Квантовую механику я учил как раз четверть века назад. С тех пор и аж до 2011 года пребывал в наивной уверенности в том, что состояния непрерывного спектра обязательно ненормируемы. Но когда занимался задачей про квазилокализованные состояния, про которую я когда-то писал, обнаружил, что это не так. Еще на заре квантовой механики Вигнер и фон Нейман придумали пример нормируемых состояний непрерывного спектра.


Рассмотрим, например, такой потенциал\begin{equation*} V(x)=\left\{\begin{array}{rl}-\frac{\sin x (8 x \cos x-5 \sin x+\sin 3 x)}{x^2}& x>0&\\ \infty & x\leq 0\end{array}\right.\end{equation*}
Потенциал (заштрихован), энергия и волновая функция.
Потенциал на бесконечности стремится к нулю, поэтому при $E>0$ естественно ожидать непрерывный спектр. Подстановкой можно проверить, что у уравнения Шредингера\begin{equation*}
k^2\psi=-\frac{d^2\psi}{dx^2}+V(x)\psi
\end{equation*} при $k=1$ есть точное решение \begin{equation*}
\psi=\frac{e^{\text{Ci}(2 x)} \sin (x)}{x},
\end{equation*}где $\text{Ci}(x)$ --- интегральный косинус. Соответствующая этому решению плотность при больших $x$ убывает как $1/x^2$, поэтому интеграл от нее сходится, и мы получаем нормируемое решение. Физическая причина нерасплывания волновой функции состоит в том, что горбы потенциала эффективно отражают частицу так, что вероятность ее убегания на бесконечность равна нулю. Из картинки видно, что максимумы вероятности находятся слева от каждого горба.

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

вторник, 26 января 2016 г.

Задача Коши для уравнения Клейна-Фока-Гордона

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

$\newcommand{\sh}{\operatorname{sh}} \newcommand{\ch}{\operatorname{ch}} \renewcommand{\Re}{\operatorname{Re}} \renewcommand{\Im}{\operatorname{Im}} $ Возник недавно вопрос про задачу Коши для уравнения Клейна-Фока-Гордона.
Решить задачу Коши: \[ \left[\square+m^{2}\right]\phi=0\,,\quad\phi\left(0,\boldsymbol{x}\right)=f\left(\boldsymbol{x}\right),\quad\dot{\phi}\left(0,\boldsymbol{x}\right)=g\left(\boldsymbol{x}\right) \] 
Культурно эта задача решается через функции Грина второго рода. Ну, то есть нужно сначала найти функцию Грина первого рода, а затем, по известным правилам найти функции Грина для указанной задачи Коши. Но действовать нужно предельно осмотрительно, чтобы не пропустить обобщённые функции. Поучителен другой способ, основанный на знании общего решения уравнения Клейна-Фока-Годона. Как мы учим студентов, это общее решение имеет вид \begin{equation} \phi\left(t,\boldsymbol{x}\right)=\int\frac{d\boldsymbol{p}}{\left(2\pi\right)^{3}2\varepsilon}\left[C_{1}\left(\boldsymbol{p}\right)e^{-i\varepsilon t+i\boldsymbol{p}\cdot\boldsymbol{x}}+C_{2}\left(\boldsymbol{p}\right)e^{i\varepsilon t-i\boldsymbol{p}\cdot\boldsymbol{x}}\right]\,,\label{eq:generalCondition} \end{equation} где $\varepsilon=\sqrt{\boldsymbol{p}^{2}+m^{2}}$, а $C_{1,2}\left(\mathbf{p}\right)$ --- функции, которые мы хотим выразить через $f\left(\boldsymbol{x}\right)$ и $g\left(\boldsymbol{x}\right)$. Это довольно просто: используя (\ref{eq:generalCondition}), вычисляем $\phi\left(0,\boldsymbol{x}\right)$ и $\dot{\phi}\left(0,\boldsymbol{x}\right)$, и с помощью обратного преобразования Фурье получаем \begin{align*} C_{1}\left(\boldsymbol{p}\right) & =\int d\boldsymbol{y}\,e^{-i\boldsymbol{p}\cdot\boldsymbol{y}}\left[\varepsilon f\left(\boldsymbol{y}\right)+ig\left(\boldsymbol{y}\right)\right]\,,\\ C_{2}\left(\boldsymbol{p}\right) & =\int d\boldsymbol{y}\,e^{i\boldsymbol{p}\cdot\boldsymbol{y}}\left[\varepsilon f\left(\boldsymbol{y}\right)-ig\left(\boldsymbol{y}\right)\right]\,. \end{align*} Подставляя в (\ref{eq:generalCondition}), получаем \[ \phi\left(t,\boldsymbol{x}\right)=\int\frac{d\boldsymbol{p}}{\left(2\pi\right)^{3}\varepsilon}\int d\boldsymbol{y}\left\{ f\left(\boldsymbol{y}\right)\varepsilon\cos\left[\varepsilon t-\boldsymbol{p}\cdot\left(\boldsymbol{x}-\boldsymbol{y}\right)\right]+g\left(\boldsymbol{y}\right)\sin\left[\varepsilon t-\boldsymbol{p}\cdot\left(\boldsymbol{x}-\boldsymbol{y}\right)\right]\right\} \] Но мы хотим взять интеграл по $\boldsymbol{p}$, и вот здесь следует действовать аккуратно. Нужно взять два базисных интеграла: \[ G\left(t,\boldsymbol{r}\right)=\int\frac{d\boldsymbol{p}}{\left(2\pi\right)^{3}\varepsilon}\sin\left[\varepsilon t-\boldsymbol{p}\cdot\boldsymbol{r}\right]\,,\quad F\left(t,\boldsymbol{r}\right)=\int\frac{d\boldsymbol{p}}{\left(2\pi\right)^{3}}\cos\left[\varepsilon t-\boldsymbol{p}\cdot\boldsymbol{r}\right]\,. \] Точнее, интеграл $F$ нам отдельно считать не надо, так как $F=\dot{G}$. Для $G$, интегрируя по углам, получаем \[ G\left(t,\boldsymbol{r}\right)=\frac{4\pi}{\left(2\pi\right)^{3}r}\Im\intop_{0}^{\infty}dp\frac{p}{\varepsilon}e^{i\varepsilon t}\sin\left(pr\right)\,. \]
Рисунок 1. Функция $A\left(r\right)=\Im K_{0}\left(-im\sqrt{\left(t+i0\right)^{2}-r^{2}}\right)$.
Интеграл сходится весьма условно, и чтобы придать ему строгий смысл, будем считать, что у $t$ есть малая положительная мнимая часть. Поскольку подынтегральное выражение естественно продолжается как чётная функция $p$, заменяем $\intop_{0}^{\infty}\to\frac{1}{2}\intop_{-\infty}^{\infty}$, а вместо $\sin\left(pr\right)$ пишем $ie^{-ipr}$. Затем переходим к новой переменной, подставляя $p=m\sh y$. Получаем \[ G\left(t,\boldsymbol{r}\right)=\frac{m}{\left(2\pi\right)^{2}r}\Re\intop_{-\infty}^{\infty}dy\sh ye^{imt\ch y-imr\sh y}\,. \] Из этой формулы легко заметить, что $G$ является нечётной функцией $t$, так что далее будем считать, что $\Re t>0$. Грабли, на которые нелегко не наступить, состоят в том, что можно пропустить обобщённые фунции с носителем на световом конусе $t=r$. Признаюсь, что мне эти грабли обойти с первого раза не удалось. Отчасти, это обстоятельство и побудило написать эту памятку. Итак, наученный опытом, я поступлю здесь так: сначала избавимся от $\sh y$ в предэкспоненте, выразив его через производную по $r$. Затем введём параметр $z$, такой, что $r/\sqrt{t^{2}-r^{2}}=\sh z$. Получим \[ G\left(t,\boldsymbol{r}\right)=-\frac{1}{\left(2\pi\right)^{2}r}\partial_{r}\Im\intop_{-\infty}^{\infty}dye^{im\sqrt{t^{2}-r^{2}}\ch\left(y-z\right)}\,. \] Учитывая, что $\Im t>0$ и $\Re t>0$, можно сделать сдвиг $y\to y+z$ и тогда интеграл сводится к $K$-функции Бесселя: \[ G\left(t,\boldsymbol{r}\right)=-\frac{1}{2\pi^{2}r}\partial_{r}\Im K_{0}\left(-im\sqrt{\left(t+i0\right)^{2}-r^{2}}\right) \] Характерный вид графика функции $A\left(r\right)=\Im K_{0}\left(-im\sqrt{\left(t+i0\right)^{2}-r^{2}}\right)$ показан на рисунке 1. Аргумент $K_{0}$ становится вещественным положительным при $r>t$ и поэтому $\Im K_{0}$ равно нулю в этой области. В точке $r=t$ функция имеет разрыв, причем $f\left(t-0\right)=\frac{\pi}{2}$. Таким образом, \[ G\left(t,\boldsymbol{r}\right)=-\frac{1}{2\pi^{2}r}\partial_{r}\theta\left(t-r\right)\Im K_{0}\left(-im\sqrt{t^{2}-r^{2}}\right) \] Вычисляя производную по $r$, получаем \[ G\left(t,\boldsymbol{r}\right)=\frac{m}{2\pi^{2}}\Re\frac{K_{1}\left(-im\sqrt{t^{2}-r^{2}}\right)}{\sqrt{t^{2}-r^{2}}}\theta\left(t-r\right)+\frac{1}{4\pi r}\delta\left(t-r\right)\,. \] Функция $B\left(r\right)=-\Re\frac{K_{1}\left(-im\sqrt{t^{2}-r^{2}}\right)}{\sqrt{t^{2}-r^{2}}}\theta\left(t-r\right)$ ведёт себя абсолютно аналогично $A\left(r\right)$, причём $B\left(t-0\right)=\frac{\pi}{4}$. Поэтому для функции $F$ получаем \begin{align*} F\left(t,r\right) & =\dot{G}\left(t,\boldsymbol{r}\right)=-\frac{m^{2}}{2\pi^{2}}\frac{t}{t^{2}-r^{2}}\Im K_{2}\left(-im\sqrt{t^{2}-r^{2}}\right)\theta\left(t-r\right)-\frac{m^{2}}{8\pi}\delta\left(t-r\right)+\frac{1}{4\pi r}\delta^{\prime}\left(t-r\right)\,. \end{align*} Всё это богатство с $\delta$ и $\delta^{\prime}$ в $F$ можно получить, если аккуратно вычислить $F\left(t,r\right)$ как предел $\lim_{\epsilon\to+0}\tilde{F}\left(t+i\epsilon,r\right)$, где \[ \tilde{F}\left(t,r\right)=-\frac{m^{2}}{2\pi^{2}}\Im\left[\frac{t}{t^{2}-r^{2}}K_{2}\left(-im\sqrt{t^{2}-r^{2}}\right)\right]\,. \]
Если у кого есть плагин от Wolfram Mathematica для просмотра cdf-формата, то можно самому поиграть с $\tilde{F}\left(t+i\epsilon,r\right)$:

Учитывая антисимметрию $G$ и симметрию $F$ при обращении времени, получаем \begin{align} G\left(t,\boldsymbol{r}\right) & =\frac{m\mathrm{sgn}t}{2\pi^{2}}\Re\frac{K_{1}\left(-im\sqrt{t^{2}-r^{2}}\right)}{\sqrt{t^{2}-r^{2}}}\theta\left(\left|t\right|-r\right)+\frac{1}{4\pi r}\delta\left(\left|t\right|-r\right)\,,\nonumber \\ F\left(t,\boldsymbol{r}\right) & =-\frac{m^{2}}{2\pi^{2}}\frac{\left|t\right|\Im K_{2}\left(-im\sqrt{t^{2}-r^{2}}\right)}{t^{2}-r^{2}}\theta\left(\left|t\right|-r\right)-\frac{m^{2}}{8\pi}\delta\left(\left|t\right|-r\right)+\frac{1}{4\pi r}\delta^{\prime}\left(\left|t\right|-r\right)\,.\label{eq:result} \end{align} В моей первой, торопливой попытке я потерял последние члены в $G$ и, естественно, в $F$. Видимо, сработало какое-то давнишнее предубеждение против выражений, содержащих одновременно $\theta\left(x\right)$ и $\delta\left(x\right)$. Полученные выражения очень даже замечательны. Хотя \[ K_{1}\left(-iy\right)\sim\frac{i}{y}\ \&\ K_{2}\left(-iy\right)\sim-\frac{2}{y^{2}} \] при $y\to0$, тем не менее, \[ \Re K_{1}\left(-iy\right)\sim-\frac{\pi}{4}y\ \&\ \Im K_{2}\left(-iy\right)\sim-\frac{\pi}{16}y^{2}\,, \] и первые члены в (\ref{eq:result}) оказываются конечными. Окончательно, получаем следующее решение \[ \phi\left(t,\boldsymbol{x}\right)=\int d\boldsymbol{y}\left\{ F\left(t,\boldsymbol{x}-\boldsymbol{y}\right)f\left(\boldsymbol{y}\right)+G\left(t,\boldsymbol{x}-\boldsymbol{y}\right)g\left(\boldsymbol{y}\right)\right\} \,. \] Интересно проследить стремление $\phi\left(t,\boldsymbol{x}\right)$ к $f\left(\boldsymbol{x}\right)$ и $\dot{\phi}\left(t,\boldsymbol{x}\right)$ к $g\left(\boldsymbol{x}\right)$ при $t\to0$. Как ни удивительно, трёхмерная $\delta$-функция от $\boldsymbol{r}=\boldsymbol{x}-\boldsymbol{y}$ реализуется как предел $\lim_{t\to0}\frac{1}{4\pi r}\delta^{\prime}\left(\left|t\right|-r\right)$.

P.S. Вообще-то, эту задачу я предложил студентам в качестве домашней на ближайшую неделю, но если кто вдруг и зайдёт сюда и разберётся, то и ладно.

пятница, 23 мая 2014 г.

Что-то рядом с Меллином.

Что писать в труды конференции --- всегда для меня проблема. С одной стороны доклад обычно уже делается по опубликованной работе, а с другой --- терпеть не могу писать уже написанное. Поэтому пытаюсь всунуть в свой вклад хоть что-то новое. Вот, в последний такой опус, вышедший сегодня, написал свои не до конца продуманные идеи про редукцию в параметрическом представлении. Среди прочего, использовал свойства следующего интегрального (точнее, наполовину интегрального, наполовину дифференциального) преобразования.
Рассмотрим линейное пространство гладких функций $\phi(x)$ на $[0,\infty)$, спадающих быстрее любого полинома на бесконечности и разложимых в ряд Тейлора в окрестности нуля. Определим в этом пространстве преобразование \[\phi(x)\to \tilde{\phi}_m=I^m[\phi],\,m\in\mathbb{Z}\,,\] где $I^m[\phi]$ --- такой функционал \[I^m[\phi]=\left\{\begin{array}{cc}\frac{1}{\Gamma(m)}\int_0^\infty dx x^{m-1}\phi(x)\,,& m>0\\ (-1)^m\phi^{(-m)}(0)\,,&m\leqslant 0\end{array}\right.\]
Красота этого определения --- в том, что справедливы следующие формулы \[I^m[-d\phi/dx]=I^{m-1}[\phi]\,,\quad I^m[x\phi]=m I^{m+1}[\phi]\] Вот интересно, как написать обратное преобразование (если оно существует, конечно)?

понедельник, 19 мая 2014 г.

Визуальное решение задач на построение

Для профилактики слабоумия начал опять решать задачи на Diofant.ru. Вчера вот такую задачу увидел
ЗАДАЧА 981 (Diofant.ru). Перпендикуляр к диаметру 'Дана окружность o и прямая линия l, которая проходит через ее центр. На окружности отмечена точка A, не лежащая на прямой. При помощи одной линейки без делений постройте перпендикуляр от точки к прямой.
Для решения таких задач я использую свой скрипт. Решить-то я решил, но поскольку задача проверяется в ручном режиме, надо было еще написать решение. Поэтому вчера я немного допилил скрипт (если кому-то интересно, смотреть как его подключить в коде) и теперь он худо-бедно документирует действия. Вот, можно попробовать решить вышеупомянутую задачу. Точки на пересечениях двух объектов ставятся их последовательным выделением (при включенном инструменте line).

пятница, 16 мая 2014 г.

Задание в методичку по квантовому программированию.

Есть квантовый компьютер с памятью 3 кубита. Определим однобитовые гейты\[\mathrm{H1}=\mathrm{Not}=\left(\begin{array}{cc}0&1\\1&0\end{array}\right)\,,\quad \mathrm{H2}=\mathrm{H}=\frac1{\sqrt{2}}\left(\begin{array}{cc}1&1\\1&-1\end{array}\right)\,,\quad \mathrm{H3}=\frac1{\sqrt{3}}\left(\begin{array}{cc}\sqrt{2}&1\\1&-\sqrt{2}\end{array}\right)\]
и их  управляемые варианты $\mathrm{cnH1}\,,\ \mathrm{cnH2}\,,\ \mathrm{cnH3}$, которые выполняют над битом соответствующее преобразование только если остальные два бита равны единице.
Система комманд нашего компьютера состоит из четырех комманд: $\mathrm{H1}\,,\ \mathrm{cnH1}\,,\ \mathrm{cnH2}\,,\ \mathrm{cnH3}$. Надо написать алгоритм, который при подаче на вход двоичного числа от 0 до 7 строит состояние (с определенным спином и проекцией) с соответствующим номером:
  1. $\sqrt{1/2}(|001\rangle-|010\rangle)$
  2. $\sqrt{1/2}(|101\rangle-|110\rangle)$
  3. $\sqrt{1/6}(|001\rangle+|010\rangle-2|100\rangle)$
  4. $\sqrt{1/6}(|101\rangle+|110\rangle-2|011\rangle)$
  5. $|000\rangle$
  6. $\sqrt{1/3}(|001\rangle+|010\rangle+|100\rangle)$
  7. $\sqrt{1/3}(|101\rangle+|110\rangle+|011\rangle)$
  8. $|111\rangle$
Здесь можно потренироваться:

Boilerplate
Your Program