簡単なブロックチェーンをつくる(その9 ノードの同期)

各ノードのブロックチェーンは /block により別々にブロックが生成される.そこで同期をとる時点で一番長いブロックをもつブロックチェーンを「真の」ブロックチェーンをみなすことにする.その他のノードのブロックチェーンは一番長いブロックチェーンに置…

簡単なブロックチェーンをつくる(その8 複数ノード)

ブロックチェーンを複数のノードでつくらせる.各ノードの名前は localhost:5000, localhost:5001 などのようにドメイン名とポート番号にする. # ノードの所有者 node_owner = sys.argv[2] print("node owner=", node_owner) @app.route('/nodes/add', meth…

簡単なブロックチェーンをつくる(その7 マイニング)

ジェネシスブロック以外のすべてのブロックもマイニングによって生成する.どのブロックにもトランザクションリストの先頭にコインベーストランザクションをつくる.コインの送り先はとりあえずジェネシスブロックと同様にSatoとするが,あとで複数ノードに…

簡単なブロックチェーンをつくる(その6 ジェネシスブロックのマイニング)

前回のプログラムを使ってジェネシスブロックのマイニングを行う.ジェネシスブロックはブロックチェーンのインスタンス生成時にコンストラクタを通じて作成する.ジェネシスブロックに入れるトランザクションは,コインベーストランザクション(プルーフオ…

簡単なブロックチェーンをつくる(その5 プルーフオブワーク)

新しいブロックを生成するための条件として,ブロックのハッシュ値に条件を設ける.何度もブロックのハッシュを計算させ,ハッシュ値がある条件を満たした場合に限りブロックを生成する.今回はこの原型をつくる. ブロックのハッシュ値は sha256 を使ってい…

簡単なブロックチェーンをつくる(その4 ブロックチェーンのクラス化)

ブロックチェーンのクラスをつくって前回のプログラムを少し整理する. import hashlib, json from time import time from flask import Flask, jsonify, request app = Flask(__name__) class Blockchain(): def __init__(self): # ブロックチェーン本体 se…

簡単なブロックチェーンをつくる(その3 ブロックのハッシュ)

次にブロックのハッシュを計算する.ブロックチェーンの各ブロックは,その直前のブロックのハッシュ値を保存している.ジェネシスブロックは例外で,「直前の」ブロックは存在しない.そのため直前のブロックのハッシュ値は適当に決めることになる. ハッシ…

簡単なブロックチェーンをつくる(その2 ブロック)

前回はトランザクションをつくった.今回はブロックの骨格をつくる.ブロックの構造もトランザクションと同様に辞書を使って block = { 'index': ブロック高(ジェネシスブロックを0とする) 'tiemstamp': ブロック作成日時 'tx_list': トランザクションリス…

簡単なブロックチェーンをつくる(その1 トランザクション)

話題のブロックチェーンに関するメモ.元ネタは Wei-Meng Lee, Beginning Ethereum Smart Contracts Programming With Examples in Python, Solidity and JavaScript, Apress, 2019, Chapter 2 ここではお金(コイン)の送受信機能のみをもつ,ごく簡単なブ…

球面ベッセル関数

NISTのDLMFによると,第1種,第2種球面ベッセル関数は であり,特に では である.過去に は と書いて球面ノイマン関数と言っていた.球面ノイマン関数という名称はいずれ使われなくなるかもしれない. は,ここでの定義と符号が逆の本があるらしいが,J. J.…

放射性紳士淑女

「放射性紳士淑女諸君」とはニュートリノの存在を提案したパウリの書簡の書き出しである.原文はドイツ語で,その英訳とともにここに公開されている.日本語訳もたくさんあると思うのだが,調べてみたところ次の本しか見つからなかった. ヴォルフガング・パ…

合流型超幾何関数 その8 (漸近展開4)

最後に の場合.これは前回の とほぼ同じで,積分表示の(1)式を複素積分にし,図のような長方形の経路に沿って一周する. 結果は になる.これはNISTのDLMF 13.7.2式と同じである. まとめると になる.ストークス現象により偏角によって展開が異なる.

合流型超幾何関数 その7 (漸近展開3)

今度は の場合. 積分表示の(1)式を複素積分にし,図のような長方形の経路に沿って一周する. の大きさによらず長方形の内部で被積分関数は解析的なので,積分は0になる. 上で , 上で , 上で と変数変換する.例えば の積分は となる.これより となる.こ…

合流型超幾何関数 その6 (漸近展開2)

今回は の場合.前回の(2)式を再掲する. の場合, であるから,\eqref{1}の第1項は第2項に比べて無視できる.第2項の中で と変形すると( は上昇階乗べき), になる.

合流型超幾何関数 その5 (漸近展開1)

ここで行う漸近展開の方法は次の本による. J. B. Seaborn, "Hypergeometric Functions and Their Applications", Springer (1991). 前回の積分表示で引数を複素数に拡張した から出発する.積分区間を変更して変数変換すると になる.最後の等式で第1項を …

合流型超幾何関数 その4 (積分表示)

合流型超幾何関数はいくつかの表記がある.前回書いた はクンマー関数と言われるもので,他にオルバー関数 がある.DLMFによると, の関係がある.オルバーはDLMFの著者の一人,F.W.J. Olver であろう.さらにホイッテーカー関数 とは の関係がある. さて,…

合流型超幾何関数 その3 (微分方程式の解)

合流型超幾何微分方程式 の解として を仮定する. より\eqref{1}は となり,変形すると となる. の項が0になる条件(決定方程式)は である.漸化式は で与えられる. の場合,\eqref{2}は となる. は0や負の整数ではないとする. は上昇階乗べきである.…

合流型超幾何関数 その2 (微分方程式の特異点)

2階微分方程式 に存在する特異点 確定特異点: で の少なくとも一方が発散し,かつ がどちらも有限のとき, は確定特異点である. 真性(不確定)特異点: の少なくとも一方が で発散するとき, は真性(不確定)特異点である. 無限遠での特異性をみるには…

合流型超幾何関数 その1 (上昇階乗べき)

合流型超幾何関数の漸近展開を調べていたのだが,数学の本を見ると複素平面上に複雑な経路を取って積分している.厳密性を欠いても,もう少し簡単に導出する方法がないか探していたところ,何となく見つかったのでメモしておきたい.とりあえずは準備から. …

ブロッホの定理

量子力学のブロッホの定理をいまひとつ理解できていない。ポテンシャルが周期的で のとき,平行移動の演算子 はハミルトニアンと交換する. はユニタリーであるから固有値の絶対値は1であり,実数 を使って となるので となる.猪木-川合「量子力学I」ではこ…

レビンソンの定理

量子力学の散乱にレビンソンの定理というものがある.レビンソンの論文は N. Levinson, Kgl. Danske. Vid. Sels. Mat-fys 25 No.9 (1949) というもので,これがどういう学術誌なのかさっぱりわからなかったのだが,最近ようやくここに論文が公表されているこ…

部分波展開

部分波展開の公式についてのメモ レイリーの公式 証明 砂川重信,「散乱の量子論」岩波書店 (1977) P248 猪木慶治,川合光,「量子力学 II」講談社サイエンティフィク (1994) P443 球面波型関数の展開公式 証明 砂川重信,「散乱の量子論」岩波書店 (1977) P…

断熱近似とベリー位相

量子力学の断熱近似とベリー位相をウェブで検索してみると,多くが J. J.サクライ「現代の量子力学(下)第2版」と同じ説明である.ただこの本がオリジナルというわけではなく, Griffiths (2005) の取扱いにならった,と書いてある. Griffiths (2005) とは…

量子力学の定常摂動論(その2)

レイリー-シュレーディンガーの摂動展開 を具体的に計算してみる. としておくと,1次では 2次では となる.ここで の項は高次項なので落としている.これらの状態は規格化されていない. この調子で計算を続けていくと, の項は5個, の項は12個ある.一般…

量子力学の定常摂動論(その1)

量子力学の,時間によらない摂動論は演算子のままで計算すると比較的楽に展開できる。 非摂動部分のシュレーディンガー方程式を とし, はわかっているとする.また縮退はまったくないとする.摂動項が加わった場合を とする. で になる.直交条件として を…

ラゲール多項式(その2)

ラゲール多項式のどの定義を使うべきか迷うところだが,個人的にはNISTのDLMFによる定義を使うのが無難だと思っている.DLMFではラゲール(陪)多項式の定義はその1の(2)式と(4)式である.また前回,J. J. サクライの量子力学 第2版では(1)式や(3)式が使われ…

ラゲール多項式(その1)

ラゲール多項式は水素原子波動関数にでてくる(正確にはラゲール陪多項式).それ以外に使いみちがあるかと言われるとあまり思いつかないが,調和振動子でも球座標で解けば必要になりそうである.ラゲール多項式の定義は本によって異なる.例えば J. J. サク…

ロドリゲスの回転公式(パウリ行列による説明)

パウリ行列は行列といいながら,3成分ベクトルで表される. 何が行列かというと,ベクトルの各成分が行列である. ベクトルの成分が行列というのは奇異な感じがするが,python ではリストの要素にリストや辞書を取れることを考えれば不思議なことではない.…

ロドリゲスの回転公式(クォータニオンによる説明 その2)

前回使った と はクォータニオン(四元数,しげんすう)を使うとひとまとめに扱うことができる.クォータニオンは3種類の「虚数」 を使って定義される. 「」 はクォータニオンを表す記号とする.このとき となる.これはその1の(3)式と同じ表式である. ク…

ロドリゲスの回転公式(クォータニオンによる説明 その1)

2つの単位ベクトル のなす角を とする.次の2つの量を定義する. これから を満たす. は のように表される. 次に,単位ベクトル の関係として であるとする.まず であることに注意すると である.さらに を使うと である.これから となる.よって と の…