倭算数理研究所

科学・数学・学習関連の記事を、「倭マン日記」とは別に書いていくのだ!

Go で量子鍵配送 (Quantum Key Distribution) B92 プロトコル

Go で量子コンピューティングシリーズ(目次)。 今回は B92 プロトコル。B92 プロトコルは BB84 プロトコルに比べて直感的に分かりにくい処理(エンコード・デコード*1)をしますが、古典チャネルでの通信が BB84 プロトコルに比べて半分で済みます。 その…

Go で量子鍵配送 BB84 プロトコルでイヴがランダムに基底を選ぶ場合

Go で量子コンピューティングシリーズ(目次)。 今回は BB84 プロトコルで、アリスとボブがエンコード・デコードに使う基底をイヴが知らずに、ランダムな基底を使って盗聴を行う場合を見ていきます。 アリスとボブのコードは今までと同じです。各種の理論値…

Go で量子鍵配送 (Quantum Key Distribution) もう少し BB84 プロトコル

Go で量子コンピューティングシリーズ(目次)。 今回は前回見た BB84 プロトコルの特徴をもう少し詳しく見ていきます。【この記事の内容】 長さ n の鍵を生成するために必要な qubit 数 盗聴に気づく確率 イヴが正しい鍵のビット値を得る割合 盗聴に気づい…

Go で量子コンピューティング ~目次~

Go で量子コンピューティングシリーズの目次。 Qubit 量子鍵配送 (QKD: Quantum Key Distribution) 枠組み BB84 基本・分析・イヴがランダムな基底で測定する場合 B92 基本 Quantum Computing: A Gentle Introduction (Scientific and Engineering Computati…

Go で量子鍵配送 (Quantum Key Distribution) BB84 プロトコル

Go で量子コンピューティングシリーズ(目次)。 今回は量子鍵配送 (Quantum Key Distribution) の BB84 プロトコルの実装をしていきます。【この記事の内容】 量子鍵配送 BB84 プロトコル Go での実装 bb84.Alice の EstablishKey メソッド bb84.Bob の Est…

Go で量子鍵配送 (Quantum Key Distribution)

Go で量子コンピューティングシリーズ(目次)。 次回から何回かで量子鍵配送 (qkd: quantum key distribution) を3種類ほど実装していく予定ですが、今回はそれらに共通する型などを見ていきます。 実装は直接的には量子鍵配送に関係なのでスルーします。【…

Go で Qubit

Go で量子コンピューティングシリーズ(目次)。 Google Go で量子計算・量子コンピュータの簡単なシミュレータを書いていきます(『Quantum Computing: A Gentle Introduction』の練習問題を解くサポートで)。 今回は準備として 1 qubit 系に関連する型を…

spire で多項式 Polynomial を使ってみる (5) : 多項式で表される特殊関数

spire を使ってみるシリーズ(目次)。 今回は多項式で表される特殊関数に関連する spire.math.poly.SpecialPolynomials クラスのメソッドを見ていきます。SpecialPolynomials クラスでは ルジャンドルの多項式: legendre() ラゲールの多項式: laguerre() …

spire で多項式 Polynomial を使ってみる (4) : 係数・項を扱うメソッド

spire を使ってみるシリーズ(目次)。 今回は Polynomial 型に定義されているメソッドのうち、係数や項を扱うメソッドを見ていきます。 記事中のサンプルコードでは以下の import 分が書かれているものとします: import spire.math._ import spire.implici…

spire で多項式 Polynomial を使ってみる (3) : 代数としてのメソッド

spire を使ってみるシリーズ(目次)。 今回は Polynomial 型に定義されている代数としてのメソッドを見ていきます。 多項式はユークリッド環をなすので、加減乗法と余りのある除算が定義されています。この記事中のサンプルコードでは以下の import 文が書…

spire で多項式 Polynomial を使ってみる (2) : 数学関数としてのメソッド

spire を使ってみるシリーズ(目次)。 今回は Polynomial に定義されている、数学関数に関連するメソッドを見ていきます。 記事中のサンプルコードでは、以下の import 文が書かれているものとします: import spire.math._ import spire.implicits._ 関数…

spire で多項式 Polynomial を使ってみる (1) : ファクトリ・メソッド

spire を使ってみるシリーズ(目次)。 Scala の高速・高精度な数学ライブラリ spire に定義されている、多項式を表す型 Polynomial の基本的な使い方を見ていきます。 今回は Polynomial オブジェクトを生成する、Polynomial コンパニオン・オブジェクトに…

spire を使ってみるシリーズ 目次

Scala の高速・高精度数学ライブラリの spire を使ってみるシリーズの目次記事。github.com 多項式 Polynomial 『ファクトリ・メソッド』 『数学関数としてのメソッド』 『代数としてのメソッド』 『係数・項を扱うメソッド』 『多項式で表される特殊関数』 …

逆正弦関数・逆余弦関数の冪級数展開

もう少し三角関数の公式シリーズ(目次)。 今回は逆正弦関数と逆余弦関数の冪級数展開を見ていきます。 『逆正弦関数・逆余弦関数の高階導関数』で高階導関数を求めましたが、これを使って公式通りに冪級数展開を行うのはちょっと大変なので、別の方法で冪…

逆正弦関数・逆余弦関数の高階導関数

もう少し三角関数の公式シリーズ(目次)。 今回は、『逆三角関数の導関数』の結果を使って、逆正弦関数・逆余弦関数の高階導関数を求めます。逆正弦関数・逆余接関数の導関数は で与えられるのでした。 一応値域を明示してますが、今回は特に使いません。 …

逆正接関数・逆余接関数の冪級数展開

もう少し三角関数の公式シリーズ(目次)。 今回は、前回導いた逆正接関数・逆正接関数の高階導関数を用いて、逆正接関数・逆余接関数の( の周りでの)冪級数展開を導きます(高階導関数を使わずに簡単に導く方法もあります)。 逆正接関数・逆余接関数の高…

逆正接関数・逆余接関数の高階導関数

もう少し三角関数の公式シリーズ(目次)。 以前の記事『逆三角関数の導関数』にて逆正接関数・逆余接関数の導関数を計算しましたが、今回はさらにそれらの高階導関数を計算します。逆正接関数 ・逆余接関数 の導関数は以下で与えられるのでした: これらの…

逆三角関数の導関数

もう少し三角関数の公式シリーズ(目次)。 今回は三角関数の逆関数である逆三角関数の導関数を計算します。逆三角関数は角度にあたる値域に制限を加える必要がありますが、その制限は各逆三角関数の箇所で指定しています。 たぶんここで指定している制限は…

三角関数の3元加法定理

もう少し三角関数の公式シリーズ(目次)。 三角関数の加法定理は高校数学で主要な公式ですが、これを2度使って3つの角度を加える公式も簡単に導くことができます。 まぁ、高校数学の演習問題レベルで、結果を覚えるほどの公式ではありませんが、3つの角度を…

もう少し三角関数の公式 ~目次~

以前に三角関数の公式を復習するシリーズ記事(『三角関数の公式を復習する (1) : 三角関数の定義と相互関係』に目次あり)を書きましたが、これらは一応高校数学の範囲内の話でした(高校で出てこない3つの三角関数の公式も導いてますが)。このシリーズで…

高校数学での三角関数の積分の確認

三角関数の公式を復習するシリーズ(目次)。 高校数学で三角関数を含む積分をあれこれ計算できるようになるには多少の演習が必要かと思いますが、問題集をやる前に のような各三角関数の冪乗の積分をある程度できるようになっておいた方がいいでしょう。 こ…

ベッセル関数の漸近展開

特殊関数の公式を証明していくシリーズ(目次)。 今回はベッセル関数や変形ベッセル関数の での漸近的な振る舞いを見ていきます。 ベッセル関数の漸近展開にはいくつか種類があるようですが、今回見ていくのはハンケルの漸近展開というものです(たぶん一番…

続・変形ベッセル関数の公式あれこれ

特殊関数の公式を証明していくシリーズ(目次)。 前回、変形ベッセル関数の公式をいくつか導きましたが(追記あり)、今回は、そこで出てきたパラメータ が半奇数の場合の公式をもう少し深く掘り下げていきます。前回導いた公式変形ベッセル関数は、パラメ…

変形ベッセル関数の公式あれこれ

特殊関数の公式を証明していくシリーズ(目次)。 今回はベッセル関数の眷属である変形ベッセル関数。 定義と微分公式、パラメータ が半奇数の場合の式を見ていきます。これらの公式は基本的に『ベッセル関数の公式』で導いたものから容易に導くことができま…

被積分関数と積分区間に変数を持つ積分の微分

なんか Twitter の TL に流れてたけど、どうもその流れでの説明があってるのかどうかよく分からなかったので、きちんと計算してみる。問題 のとき を計算する。 は各変数で微分可能な任意関数。証明 を の に関する原始関数とする、つまり ただし、 は 積分…

ベッセルの微分方程式のロンスキアンとノイマン関数

特殊関数の公式を証明していくシリーズ(目次)。 今回はベッセルの微分方程式 のロンスキアン(『特殊関数のための微分方程式論 Quick Start ~ロンスキアン・自己随伴化~』参照)をベッセル関数の満たす公式から導きます。 ロンスキアンを微分方程式から…

特殊関数の公式を証明する記事の目次

特殊関数の公式を証明していく記事が増えていきそうなので目次記事を作っておきます。 一般論 『特殊関数のための微分方程式論 Quick Start ~ロンスキアン・自己随伴化~』 ガンマ関数・ベータ関数 『とあるガンマ関数の公式目録』 『ガンマ関数とベータ関…

ベッセル関数(円柱関数)の公式あれこれ

特殊関数の公式を証明していくシリーズ(目次)。 以前の記事でベッセル関数や円柱関数の定義をみましたが、今回は後で使う(かも知れない)公式をいくつか導いていきます。 大半は微分の公式です。【この記事の内容】 定義 準備 1階微分 高階微分 シュレー…

特殊関数のための微分方程式論 Quick Start ~ロンスキアン・自己随伴化~

特殊関数の公式を証明していくシリーズ(目次)。 微分方程式論、特殊関数についてのこちらのサイトの「Lectures」下にある PDF のノートが簡潔で非常に分かりやすかったので、後で使いそうな事項を見繕って、計算を追いつつまとめてみました。 と言いつつ、…

ベッセルの微分方程式の解としてのノイマン関数

特殊関数の公式を証明していくシリーズ(目次)。 前回ベッセルの微分方程式の級数解としてベッセル関数を導きましたが、パラメータ が整数の場合はベッセル関数以外の解が存在します。 通常用いられるのはノイマン関数という関数で、前回は定義だけを見まし…