|
Mathematica における新しい表記法の作成
Jason Harris
はじめに
Mathematica 3.0および4.0は,積分,総和,総積等,ほとんどの標準的な数学表記を認識することができる.しかし,多くの数学分野,特に純粋数学の分野では,付加的な表記法が多数使われる.Mathematica では,その入出力のプログラマビリティにより,このような表記法を導入して作業内容に統合することができる.
Notation パッケージを使うと,柔軟に,かつ幅広く独自の表記法を作成してセッションに加えることができる.パッケージについての詳細はこちらを参照していただきたい.Notation パッケージを使わないで独自の表記法を作成・定義することは非常に困難であり,多くの問題が発生する可能性がある.
In[1]:=
簡単な例
In[2]:=
In[3]:=
Out[3]=
In[4]:=
Out[4]=
ウィグナー(Wigner)の3j 記号の表記法
ウィグナーの3j 記号は量子力学の角運動量の合成に用いられる.3j 記号は対応するClebsch-Gordon係数のより対称的な形である.このセクションでは3j 記号の表記法を作成し,いくつかの例を使ってこの表記法の使い方を解説する.
In[5]:=
この表記法は下付き文字3j が付いた丸カッコで囲まれた3 2のGridBoxで構成される.この他にも隠れたTagBoxesを使ったもの等,さまざまな表記法が考えられる.
In[6]:=
Out[6]=
In[7]:=
Out[7]=
このウィグナーの3j 記号の表記法が計算において自由に使えるようになったので,場合によっては読みやすさが格段に向上する.さらに入力を簡単にするために,現行ノートブックにウィグナーの3j 記号の入力エイリアスを加えることができる.
In[8]:=
ウィグナーの3j 記号の空のテンプレートは入力セルに 3j とタイプすると作成できる.
以下にウィグナーの3j 記号を使った恒等式を表す短い例を示す.
In[9]:=
In[12]:=
Out[12]=
球面テンソルの表し方にはさまざまな方法がある.以下は簡単かつ一般的な方法である.
In[13]:=
In[16]:=
In[17]:=
Out[17]=
量子力学におけるブラ,ケット,演算子
以下に量子力学で用いられるディラック(Dirac)のブラ-ケット表記法について述べる.
ParenthesizeとFullFormを変更する
以下のコードはタグボックスと完全形の形式を修正するために用いる.この修正はこのノートブックにおける説明の要ではないが,正しくフォーマットするために必要である.
In[18]:=
In[23]:=
Operators,Bras,Ketsの表記法の宣言
In[26]:=
In[27]:=
次のブラ,ケット,ブラケットの表記法は,このノートブックのスタイルシートに加えられた特定のスタイルに依存する.このようなスタイルは,ブラ,ケット,ブラケットが正しく表示・構成されるために必要である.
In[28]:=
In[31]:=
Out[31]=
In[32]:=Bra[ ]
Out[32]=
In[33]:=
Out[33]=
ブラとケットの入力
タグボックスやその他の内在構造を構成する複雑なテンプレートを入力するには,現行ノートブックに入力エイリアスを追加することが望ましい.ブラとケットの入力エイリアスを作成してみる.
In[34]:=
In[37]:=
Out[37]=
簡単な計算
以下はBraとKetについて定義された表記法の機能を説明するための簡単な定義と計算である.
In[38]:=
In[39]:=
In[40]:=
In[43]:=
Out[43]=
In[44]:=
Out[44]=
In[45]:=
Out[45]=
In[46]:=
Out[46]=
In[47]:=
Out[47]=
In[48]:=
Out[48]=
In[49]:=
Out[49]=
In[50]:=
Out[50]=
角運動量
このサブセクションでは,量子力学における角運動量と昇降演算子を示すための簡単な定義と計算を行う.
In[51]:=
In[52]:=
In[53]:=
In[56]:=
Out[56]=
さらに操作を進めるには,NonCommutativeTimesにいくつかの基本的な属性を加える必要がある.以下は加算と定数それぞれについての複数の線形性の実装である.これは簡単なものであるが,説明を目的とした場合には十分である.以下の規則は,定数はNonCommutativeTimes式から抽出でき,NonCommutativeTimesは加算全体に分配されるということを示している.
In[57]:=
In[59]:=
In[65]:=
Out[65]=
角運動量理論において,演算子 は角運動量の固有状態で固有値 を持つ.演算子 が , , を用いる演算子に分解できることは,基礎的な計算のみで示すことができる.これを証明してみる.
In[66]:=
Out[66]=
In[67]:=
Out[67]=
量子化された角運動量について十分な知識があれば,上記計算によって が に等しいことが示されたということは自明であろう.
角運動量についての実装を少し拡張し,角運動量の固有状態が直交であることについて考えてみる.
In[68]:=
これで,角運動量の異なる固有状態間において の分解を評価することができるようになった.
In[69]:=
Out[69]=
最後に,固有状態の演算子の積を含む式を計算してみる.
In[70]:=
Out[70]=
圏論可換図
あらゆる表記法の中でも最も複雑なもののいくつかは圏論の分野に見られる.このセクションでは圏論における可換図をMathematica の表記法としてどのように設定するかについて,簡単な例を取り上げて述べる.以下の例はBirkhoff,MacLane共著「Algebra」の自然変換についてのセクションからの引用である.
In[71]:=
In[72]:=
In[73]:=
Out[73]=
In[74]:=
Out[74]=
規則
In[75]:=
|