【Python演算処理】パスカルの三角形+虚数=四元数?

「**パスカルの三角形**」の世界と異なり、Pythonの演算世界はほとんど三次元以上の配列と無関係に構築されている様に見えます。
[【Python演算処理】微分の概念を高校数学段階からグレードアップ？](https://qiita.com/ochimusha01/items/bf5e5bcd824f0a920132)
[【Python演算処理】環論に立脚した全体像再構築②同値関係の再習](https://qiita.com/ochimusha01/items/0374f5579545f4981ec5)
[【Python演算処理】三次元配列を扱えるのはnumpyと…xarray？](https://qiita.com/ochimusha01/items/63e79c6c1fc73d13f4ae)

一体どういう事なんでしょうか？　詳しく見ていく事にしましょう。

#「パスカルの三角形」の世界と「微積分」の世界
その作業は**数学発展史**全体を振り返るのとほぼ**同値関係**となります。
[【Python演算処理】環論に立脚した全体像再構築②同値関係の再習](https://qiita.com/ochimusha01/items/0374f5579545f4981ec5)

###「パスカルの三角形」の世界

[【Python演算処理】パスカルの三角形と二項定理または二項展開](https://qiita.com/ochimusha01/items/d668b19d5389b52e0dd2)
概ね中世において、それは当時はまだまだ後進地域に過ぎなかった**欧州**(まだ計算に不向きなローマ数字しか知らなかった)ではなく最先端文化圏だった「**地中海-環ユーラシア大陸南岸エリア**」の**アラビア数学**や**インド数学**の世界におけるコンセンサスだったのです。

* 日本の**和算**もこの辺りについては惜しいところまで迫っていたりする。<br>[神谷徳昭/鈴木大郎「パスカルの3角形と和算」](https://www.kurims.kyoto-u.ac.jp/~kyodo/kokyuroku/contents/pdf/1677-26.pdf)<br>
[竹之内脩「和算における行列式について」](https://www.kurims.kyoto-u.ac.jp/~kyodo/kokyuroku/contents/pdf/1130-21.pdf)

**指数-3の時**(項配分1-3-3-1)

```math
\frac{1}{(x+1)^3} = \frac{1}{x^3+3x^2+3x+1}
```
**指数-2の時**(項配分1-2-1)

```math
\frac{1}{(x+1)^2} = \frac{1}{x^2+2x+1}
```
**指数-1の時**(項配分1-1)

```math
\frac{1}{(x+1)^1} = \frac{1}{x+1}
```

* x=$e^{-x}$と代入すると**標準シグモイド関数**(Standard Sigmoid Function)$\frac{1}{1+e^{-x}}$となる。y（0→1）,x(-∞→+∞)を範囲としx=0の時、y=$\frac{1}{2}$となる。<br>[シグモイド関数 - Wikipedia](https://ja.wikipedia.org/wiki/%E3%82%B7%E3%82%B0%E3%83%A2%E3%82%A4%E3%83%89%E9%96%A2%E6%95%B0)

**指数0の時**(項配分1)

```math
\frac{(x+1)}{(x+1)} = 1\\
その行列表現:[1]
```
**指数1の時**(項配分1-1)

```math
(x+1)^1=x+1\\
その行列表現:[[x,1]]\\
ないしは\left[\begin{matrix}\left[x\right]\\\left[1\right]\end{matrix}\right]
```

* x=1の時、2

* **その積**(両者は転置関係にあるので積が取れる→二次形式)<br>[【Python演算処理】行列演算の基本③パスカルの三角形から二次形式へ](https://qiita.com/ochimusha01/items/97f8354035dc3f824fc3)

```math
\left[\begin{matrix}x & 1\end{matrix}\right]\left[\begin{matrix}1 & 1\\1 & 1\end{matrix}\right]\left[\begin{matrix}x\\1\end{matrix}\right]=\left[\begin{matrix}x \left(x + 1\right) + x + 1\end{matrix}\right]\\
=[x^2+2x+1]=[(x+1)^2]
```
* 「**マスキング**」操作

```math
\left[\begin{matrix}x & 1\end{matrix}\right]\left[\begin{matrix}1 & 0\\0 & 0\end{matrix}\right]\left[\begin{matrix}x\\1\end{matrix}\right]=\left[\begin{matrix}x^{2}\end{matrix}\right]\\
\left[\begin{matrix}x & 1\end{matrix}\right]\left[\begin{matrix}0 & 1\\0 & 0\end{matrix}\right]\left[\begin{matrix}x\\1\end{matrix}\right]=\left[\begin{matrix}x\end{matrix}\right]\\
\left[\begin{matrix}x & 1\end{matrix}\right]\left[\begin{matrix}0 & 0\\1 & 0\end{matrix}\right]\left[\begin{matrix}x\\1\end{matrix}\right]=\left[\begin{matrix}x\end{matrix}\right]\\
\left[\begin{matrix}x & 1\end{matrix}\right]\left[\begin{matrix}0 & 0\\0 & 1\end{matrix}\right]\left[\begin{matrix}x\\1\end{matrix}\right]=\left[\begin{matrix}1\end{matrix}\right]\\
\left[\begin{matrix}x & 1\end{matrix}\right]\left[\begin{matrix}1 & 0\\0 & 1\end{matrix}\right]\left[\begin{matrix}x\\1\end{matrix}\right]=\left[\begin{matrix}x^{2} + 1\end{matrix}\right]\\
\left[\begin{matrix}x & 1\end{matrix}\right]\left[\begin{matrix}0 & 1\\1 & 0\end{matrix}\right]\left[\begin{matrix}x\\1\end{matrix}\right]=\left[\begin{matrix}2 x\end{matrix}\right]
```

```python
import sympy as sp
x = sp.symbols('x')
#Rows
a=sp.Matrix([[x,1]])
#Columns
b=sp.Matrix([[x],[1]])
a00=sp.Matrix([[1,1],[1,1]])
a11=sp.Matrix([[1,0],[0,0]])
a12=sp.Matrix([[0,1],[0,0]])
a21=sp.Matrix([[0,0],[1,0]])
a22=sp.Matrix([[0,0],[0,1]])
adp=sp.Matrix([[1,0],[0,1]])
adm=sp.Matrix([[0,1],[1,0]])
sp.init_printing()
display(a) 
display(a00) 
display(a11) 
display(a12) 
display(a21) 
display(a22) 
display(adp)
display(adm)
display(b) 
display(sp.simplify(a*a00*b)) 
print(sp.latex(a)+sp.latex(a00)+sp.latex(b)+"="+sp.latex(sp.simplify(a*a00*b)))
display(sp.simplify(a*a11*b)) 
print(sp.latex(a)+sp.latex(a11)+sp.latex(b)+"="+sp.latex(sp.simplify(a*a11*b)))
display(sp.simplify(a*a12*b)) 
print(sp.latex(a)+sp.latex(a12)+sp.latex(b)+"="+sp.latex(sp.simplify(a*a12*b)))
display(sp.simplify(a*a21*b)) 
print(sp.latex(a)+sp.latex(a21)+sp.latex(b)+"="+sp.latex(sp.simplify(a*a21*b)))
display(sp.simplify(a*a22*b)) 
print(sp.latex(a)+sp.latex(a22)+sp.latex(b)+"="+sp.latex(sp.simplify(a*a22*b)))
display(sp.simplify(a*adp*b)) 
print(sp.latex(a)+sp.latex(adp)+sp.latex(b)+"="+sp.latex(sp.simplify(a*adp*b)))
display(sp.simplify(a*adm*b)) 
print(sp.latex(a)+sp.latex(adm)+sp.latex(b)+"="+sp.latex(sp.simplify(a*adm*b)))
```
**指数2の時**(項配分1-2-1)

```math
(x+1)^2=x^2+2x+1\\
その行列表現:\left[\begin{matrix}\left[ x^{2}, \  x\right] & \left[ x, \  1\right]\end{matrix}\right]\\
ないしは\left[\begin{matrix}\left[ x^{2}, \  x\right]\\\left[ x, \  1\right]\end{matrix}\right]
```
**指数3の時**(項配分1-3-3-1)

```math
(x+1)^3=x^3+3x^2+3x+1\\
その行列表現:\left[\begin{matrix}\left[ x^{3}, \  x^{2}\right] & \left[ x^{2}, \  x^{2}\right]\\\left[ x, \  x\right] & \left[ x, \  1\right]\end{matrix}\right]
```

* 平方関係が崩れるせいもあって二次形式の延長線上で以下の様な演算の導出が難しい。

```math
\left[\begin{matrix}\left[ x^{3}, \  x^{2}\right] & \left[ x^{2}, \  x^{2}\right]\\\left[ x, \  x\right] & \left[ x, \  1\right]\end{matrix}\right] \to x^3+3x^2+3x+1 = (x+1)^3\\
```
* **三次元配列**の概念を使わないとこういうマスキングも切れない。

```math
\left[\begin{matrix}\left[ a^{3}, \  a^{2}\right] & \left[ a^{2}, \  a^{2}\right]\\\left[ a, \  a\right] & \left[ a, \  1\right]\end{matrix}\right]・\left[\begin{matrix}\left[ 1, \  0\right] & \left[ 0, \  0\right]\\\left[ 0, \  0\right] & \left[ 0, \  0\right]\end{matrix}\right]=a^3…①\\
\left[\begin{matrix}\left[ a^{3}, \  a^{2}\right] & \left[ a^{2}, \  a^{2}\right]\\\left[ a, \  a\right] & \left[ a, \  1\right]\end{matrix}\right]・\left[\begin{matrix}\left[ 0, \  1\right] & \left[ 1, \  1\right]\\\left[ 0, \  0\right] & \left[ 0, \  0\right]\end{matrix}\right]=3a^2…②\\
\left[\begin{matrix}\left[ a^{3}, \  a^{2}\right] & \left[ a^{2}, \  a^{2}\right]\\\left[ a, \  a\right] & \left[ a, \  1\right]\end{matrix}\right]・\left[\begin{matrix}\left[ 0, \  0\right] & \left[ 0, \  0\right]\\\left[ 1, \  1\right] & \left[ 1, \  0\right]\end{matrix}\right]=3a…③\\
\left[\begin{matrix}\left[ a^{3}, \  a^{2}\right] & \left[ a^{2}, \  a^{2}\right]\\\left[ a, \  a\right] & \left[ a, \  1\right]\end{matrix}\right]・\left[\begin{matrix}\left[ 0, \  0\right] & \left[ 0, \  0\right]\\\left[ 0, \  0\right] & \left[ 0, \  1\right]\end{matrix}\right]=1…④
```
そう、全体像を俯瞰すると、おそらく(欧州参入前の)中世数学はこういう辺りで袋小路に入ってしまっていたのです。

###「微積分」の世界
一方、欧州で発達した**近代解析学**は偏微分方程式を繰り返し解き続ける事で(二次元配列まで使えれば事足りる)**連立一時方程式**に書き換えてしまいました。このパラダイムシフトが**三次元配列**の需要を大幅に下げた最大要因だったとも推察される状況です。
[高校数学からヤコビアンに至るまで](https://qiita.com/bellbind/items/bd0411957e2363456ea1)

```math
{\int U(x,y,z)dV=\int_{0}^{2π}\int_{0}^{π}\int_{0}^{1}U(r,θ,φ)r^2\sinθdrdθdφ\\
=\int_{0}^{2π}\int_{0}^{π}\int_{0}^{1}\begin{vmatrix}
\frac{∂x}{∂r} & \frac{∂x}{∂θ}  & \frac{∂x}{∂φ}\\
\frac{∂y}{∂r} & \frac{∂y}{∂θ}  & \frac{∂y}{∂φ}\\
\frac{∂z}{∂r} & \frac{∂z}{∂θ} & \frac{∂z}{∂φ}
\end{vmatrix} drdθdφ
}
```

[【Python演算処理】特異点を巡る数理の自分なりのまとめ。](https://qiita.com/ochimusha01/items/61cb64e0fad62a5cb310)

それではこの間に一体何が起こったのでしょうか？

#間をつなぐ「複素数の世界」

「**パスカルの三角形**」や「**複式簿記**」の概念が**ルネサンス期**(14世紀~16世紀)に(フィレンツェに事実上併合されたピサ、オスマン帝国とレパント交易の支配権を巡って争ったジェノヴァやヴェネツィアといった)**イタリア海洋諸国**経由で**地中海文化圏**から**欧州文化圏**に伝わった時起こった最大のパラダイムシフトは（印刷物が広域に頒布される様になった出版革命を背景とする）それらの知識の「**特定集団の家芸**」から「(その枠を超えて世界を結ぶ)**読書階層のネットワーク的コンセンサス**」への変遷だったのです。<br>[十字軍運動とヴェネツィアの覇権](https://ochimusha01.hatenablog.com/entry/2016/04/29/093504?_ga=2.133229894.972001348.1628357683-1062689486.1565299642)

①一般に**複式簿記**の概念の大源流はヴェネツィア共和国で出版された**ルカ・パチョーリ**（Fra Luca Bartolomeo de Pacioli、1445年~1517年）の著書「**スムマ**（Summa de arithmetica, geometria, proportioni et proportionalita=算術、幾何、比および比例に関する全集,1494年）」における複式簿記概念の紹介であったとされるが、まずここに以下の二つの歴史的画期が見て取れる。

* それが、これまで**地中海商人**が**欧州内陸部商人**に優越し続ける為にあえて秘匿されてきた秘密情報の暴露だったという事。そしてそれは**オランダにおける期間会計概念への発展**を通じて欧州経済界にパラダイムシフトを起こしたばかりか、最終的には(当時の欧州諸国が戦争を継続する為に)国家経営手段として採用され「(辺境部に現れて中央集権体制を脅かす遊牧民や海賊といった蛮族集団の脅威を確実に取り除くのに)**必要にして充分なだけ火器と機動力を装備した常備軍を中央集権的官僚制が徴税によって賄う主権国家体制**(Civitas sui Iuris)**間の国際協調体制**」を登場させたという事。これをもって**欧州近世**なる歴史区分の本格稼働が始まる。<br>[【欧州中心史観以前の世界】火砲の集中運用手段としての常備軍の発達](https://ochimusha02.hatenadiary.com/entry/2019/09/27/001640)<br><font color=green>しばしば**三十年戦争**(1618年~1648年)を終わらせた**ヴェストファーレン条約**（1648年)が重要な契機として挙げられるが、**清教徒革命**(狭義1642年~1649年、広義1639年~1660年)の渦中にあった**英国**も、当時はまだまだ氷に閉ざされた辺境に過ぎなかった**ロシア**もこれに参加してはいない。特にロシアが本格的に国家としての影響力を発揮する様になるのは(フランス同様、三十年戦争において元来のプロテスタント陣営もカソリック陣営も差し置いて勝者となった)**スウェーデン**を本格的に破ってバルト海進出を果たした**大北方戦争**(1700年~1721年)以降となる。</font>
* こうして様々な方面にパラダイムシフトを引き起こした**複式簿記概念**の根幹が、実は(中世アラビア数学が発展させた)**代数**(Algebra=アラビア語由来)の概念に立脚していたという事。<br>[【Python演算処理】行列演算の基本④大源流における記述統計学との密接な関連性?](https://qiita.com/ochimusha01/items/d36169ad13872a34ebc6)<br><font color=green>**山本義隆**「**小数と対数の発見**(2018年)」は、小数点下を嫌う会計の世界の伝統が数学の世界における「**少数の発見**」を遅らせた可能性を指摘する一方でスペインからの独立を目して**八十年戦争**（1568年~1609年,1621年~1648年）を戦い抜いたオランダにおける(戦争継続の為の)合理主義追及の産物、すなわち「**十進法**（De Thiende,1585年,十進数による小数の理論を提唱）」や「**数学覚書**（Ghedachtenissen,1605年,年次期間損益計算書や精算表について解説し国家の財政管理にも複式簿記を導入することを提案）」を著した**シモン・ステヴィン**（Simon Stevin、1548年~1620年）」と彼を抜擢した**オランダ総督マウリッツ**（Maurits van Nassau,1567年~1625年）を高く評価する。</font><br>[小数の発見の数学史：天文学との関係](https://math-fun.net/20201111/5965/)

②一方**虚数**(Imaginal)の概念は**ジェロラモ・カルダーノ**（Gerolamo Cardano、1501年~1576年）が著書「**偉大なる術**（アルス・マグナ,羅Ars magna de Rebus Algebraicis,1545年) の中で示した**三次方程式の解の公式**や**四次方程式の解法**とされているが、このうち**三次方程式の解の公式**は数秘術の大家**ニコロ・フォンタナ・タルタリア**(Niccolò Fontana "Tartaglia",1499年/1500年~1557年)から聞き出した秘術を暴露した内容、**四次方程式の解法**は弟子の**ルドヴィコ・フェラーリ**（Ludovico Ferrari, 1522年~1565年）の研究内容の紹介だったのである。<br>[【数理考古学】三次方程式から虚数へ。](https://qiita.com/ochimusha01/items/f1f6d436f589d6b5b2fd)

③その一方で英国における**ジョン・ネイピア**（John Napier,1550年~1617年）と**ヘンリー・ブリッグス**（Henry Briggs,1561年~1630年）の手になる最初の**常用対数表**(Table of Common Logarithms,1624年)が刊行されてその原理に基づく**計算尺**や**歯車式計算機**(コンピューターの大源流)ると、**天文学**や**測量術**や**航海術**の分野の発展が加速する。
[【数理考古学】常用対数表を使った計算](https://qiita.com/ochimusha01/items/b7ce3c7d86ab39263c68)

* 世界地図の記法として著名な**メルカトル図法**(Mercator Projection)と**正距方位図法**（Azimuthal Equidistant Projection）も、ここに登場する「**指数写像・対数画像**」の概念に立脚する。<br>[【Python画像処理】メルカトル図法と正距方位図法](https://qiita.com/ochimusha01/items/19fe9f2dcc4d25661a47)

* **大航海時代**(16世紀中旬~17世紀中旬)は「<font color=purple>騎士道修道会国家</font>」**ポルトガル王国**の十字軍運動の延長線上に現れ、オスマン帝国とヴェネツィアのレパント交易独占を快く思わないイタリア人からの資金と人員と装備の供給によって加速したが、最終的には欧州の経済的中心を**大西洋沿岸**に推移させ**地中海沿岸経済圏全体**の没落を招いてしまう。そしてその一方で**クロムウェル護国卿時代**(1653年~1659年)から(欧州内戦から距離を置いて新大陸での展開に重きを置く)**貿易革命**に転じた英国がじわじわと台頭を開始するのである。**フランス絶対王政**や**新生プロイセン公国**を台風の目玉として展開する**欧州内戦の時代**を尻目に…<br>[十字軍国家としてのポルトガル王朝](https://ochimusha01.hatenablog.com/entry/2016/05/21/024823?_ga=2.107454538.972001348.1628357683-1062689486.1565299642)

④こうして**啓蒙君主**達が続々と諸国の有識者を招聘する様になった**宮廷文化最盛期**、しかしむしろ英国人数学者**アイザック・ニュートン**（Sir Isaac Newton、1642年~1727年）が微積分や万有引力のアイディアをまとめたのが**ペスト流行に伴うケンブリッジ大学閉鎖期**(1665年~1666年)、ドイツ人数学者**ゴットフリート・ライプニッツ**（Gottfried Wilhelm Leibniz, 1646年~1716年）が並行して微積分の概念を発展させたのが主にパリ出張中に最初の主君だったマインツ選帝侯が亡くなり、カレンベルク侯ヨハン・フリードリヒ　により顧問官兼図書館長へと任ぜられハノーファーに移住するまでの**失職期間**(1668年~1668年)だった辺りが興味深い。
[【数理考古学】とある円周率への挑戦？](https://qiita.com/ochimusha01/items/5c8a62486ea4d5d1d73a)
[【数理考古学】解析学史に「虚数概念」をもたらした交代級数](https://qiita.com/ochimusha01/items/a338ea75855fcb4ff6f8)

* イエズス会の軍隊式教育で育てられ、オランダ軍に入隊してその合理主義精神を学んで「**方法序説**(Discours de la méthode, 1637年)」を著したフランス人数学者**ルネ・デカルト**（René Descartes、1596年~1650年）が寿命を縮めたのは**スウェーデン女王クリスティーナ**に招聘されて早起きを強要されたからからと言われる一方、スコットランドの様な「<font color=purple>僻地</font>」で**ジェームズ・グレゴリー**（James Gregory,1638年~1675年）が**グレゴリー級数**を、**コリン・マクローリン**（Colin Maclaurin,1698~1746年）が特に誰からもパトロネージュを受ける事なく**テイラー級数**の応用例たる**マクローリン級数**を研究し、「**ただの計算マシーンに過ぎない**」と啓蒙君主に嫌われ「<font color=purple>僻地の新興国</font>」**帝政ロシア**に就職先を求めたスイス人数学者**レオンハルト・オイラー**（Leonhard Euler,1707年~1783年）がこれにさらに複素数の概念を追加して対数概念と三角関数概念を統合する**オイラーの公式**(Eulerian Formula)$e^{iθ}=\cos(θ)+\sin(θ)i$を完成させた。<br>[ジェームス・グレゴリー - Wikipedia](https://ja.wikipedia.org/wiki/%E3%82%B8%E3%82%A7%E3%83%BC%E3%83%A0%E3%82%B9%E3%83%BB%E3%82%B0%E3%83%AC%E3%82%B4%E3%83%AA%E3%83%BC)<br>[コリン・マクローリン - Wikipedia](https://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%AA%E3%83%B3%E3%83%BB%E3%83%9E%E3%82%AF%E3%83%AD%E3%83%BC%E3%83%AA%E3%83%B3)<br>[レオンハルト・オイラー - Wikipedia](https://ja.wikipedia.org/wiki/%E3%83%AC%E3%82%AA%E3%83%B3%E3%83%8F%E3%83%AB%E3%83%88%E3%83%BB%E3%82%AA%E3%82%A4%E3%83%A9%E3%83%BC)<br><font color=green>こうして全体像を俯瞰すると、どうしても「**周辺性**」というキーワードが念頭に浮かんでしまう。そう、当時の数学の発展は絶対王政から直接後援を受けた啓蒙主義的文化人そのものが推進した訳ではなかったのである。ただし、こうした先人の活躍も受けてスコットランドには**スコットランド啓蒙主義**(The Scottish Enlightenment1740年代~1790年代)が台頭する展開を迎える。そしてロシア宮廷も次第に文化発信力を高めていく。</font><br>[スコットランド啓蒙主義(The Scottish Enlightenment)](https://cruel.org/econthought/schools/scottish.html)
* 当時のこの方面の数学の発展速度は歯痒いほど緩慢に見えるが、**ガウス**（Johann Carl Friedrich Gauß,1777年~1855年）が**複素平面**(Complex Plane)概念を本格的に提唱するのは**フランス革命期**（1789年~1795年)に続いた**ナポレオン戦争期**(1799年~1815年)の1811年であり(ただし同概念について1797年にCaspar Wesselが書簡で言及しており、Jean-Robert Argandも1806年に同様の手法を用いている)、それなしの研究だったと考えると十分納得がいくのである。<br><font color=green>なまじ新大陸やインドでの事業展開が順調過ぎたせいで植民地経営に奢りが出た英国は**アメリカ独立戦争**（1775年~1783年)に直面した。しかし王侯貴族の国民の不満を外部に逸らし続ける」**戦争の種**が尽きたフランス絶対王政も**フランス革命**と**ナポレオン戦争**による国民の$\frac{1}{5}$消失とと莫大な経済的損失のせいで産業革命導入が半世紀以上も遅れ、大英帝国に大差をつけられ、二級国家へと転落してしまう。スコットランド啓蒙主義も、その巻き添えとなって壊滅。かかる暗黒の歴史はオカルトに傾倒して「**黄金の夜明け団**(Hermetic Order of the Golden Dawn)」にも参画したフィオナ・マクラウド(Fiona Macleod,1855年~1905年)らが主導したケルティック・ルネサンスへも確実に昏い影を落としていく。</font><br>[ウィリアム・シャープ (作家) - Wikipedia]()<br>[黄金の夜明け団 - Wikipedia](https://ja.wikipedia.org/wiki/%E3%82%A6%E3%82%A3%E3%83%AA%E3%82%A2%E3%83%A0%E3%83%BB%E3%82%B7%E3%83%A3%E3%83%BC%E3%83%97_(%E4%BD%9C%E5%AE%B6))

それではここで「**パスカルの三角形**」を極座標系(r,φ,θ.…)と関連付けた**複素関数**$e^{ix}$の添字と考えてみましょう。オイラーの公式を用いて二項定理からピタゴラスの定理を導出する際に使う方法の応用です。
[【数理考古学】ピタゴラスの定理あるいは三平方の定理からの出発](https://qiita.com/ochimusha01/items/4c7f731b0ef3cc998aa1)

```math
1=e^0=e^{iθ-iθ}=e^{iθ}e^{-iθ}\\
=(\cos(θ)+\sin(θ)i)(\cos(θ)-\sin(θ)i)\\
=cos(θ)^2+sin(θ)i-sin(θ)i-sin(θ)i^2\\
=cos(θ)^2+sin(θ)^2\\
```

[【Python演算処理】環論に立脚した全体像再構築②同値関係の再習](https://qiita.com/ochimusha01/items/0374f5579545f4981ec5)

**指数0の時**(項配分1)

```math
e^{0}= 1\\
その行列表現:[1]
```
**指数1の時**(項配分1-1)

```math
e^{1-1}=1\\
その行列表現:[[1,-1]]\\
ないしは\left[\begin{matrix}\left[1\right]\\\left[-1\right]\end{matrix}\right]
```

**指数2の時**(項配分1-2-1)　ここで$i^2=-1$と考え、四次方程式の解を代入すると…
[1の冪根 - Wikipedia](https://ja.wikipedia.org/wiki/1%E3%81%AE%E5%86%AA%E6%A0%B9)

```math
\left[\begin{matrix}\left[ 1, \  i\right] & \left[ -i, \  -1\right]\end{matrix}\right]\\
ないしは\left[\begin{matrix}\left[ 1, \  i\right]\\\left[ -i, \  -1\right]\end{matrix}\right]
```
なんとなく見た目は上はそれっぽく見えますよね。ただこの様な小手先技はもうこれ以上応用が効かないのです。

* $1=-i^2$でなければならない辺りが毎回扱う上での難所となる。微積分ではちゃんと巡回するのだが…
* この辺りの小手先性は**ユニタリ行列**(Unitary Matrix)の定義にも感じずにはいられない。<br>[ユニタリ行列 - Wikipedia](https://ja.wikipedia.org/wiki/%E3%83%A6%E3%83%8B%E3%82%BF%E3%83%AA%E8%A1%8C%E5%88%97)

>次を満たす複素正方行列Uとして定義される。なおここでIは単位行列、U*は行列Uの随伴行列(U* = U T)となる。

```math
{\displaystyle U^{*}U=UU^{*}=I}
```

>実数のみで構成される行列の随伴は単に転置であるため**実ユニタリ行列**は**直交行列**に等しく、**直交行列**を複素数体へ拡張したものが**ユニタリ行列**ともいえる。

ここでアイルランド出身の数学者**ウィリアム・ローワン・ハミルトン**（William Rowan Hamilton、1805年~1865年）が虚数単位を3種類導入する**四元数**(Quaternion)の概念を思いついきます。
[【Pythonで球面幾何学】ハミルトンの四元数は何を表しているのか？](https://qiita.com/ochimusha01/items/aff8d52f20af01d13bed)

```math
i^2=j^2=k^2=ijk=-1\\
```

その乗積表

<table border="1" class="dataframe">  <thead>    <tr style="text-align: right;">      <th></th>      <th>1</th>      <th>i</th>      <th>j</th>      <th>k</th>    </tr>  </thead>  <tbody>    <tr>      <th>1</th>      <td>1</td>      <td>i</td>      <td>j</td>      <td>k</td>    </tr>    <tr>      <th>i</th>      <td>i</td>      <td>-1</td>      <td>k</td>      <td>-j</td>    </tr>    <tr>      <th>j</th>      <td>j</td>      <td>-k</td>      <td>-1</td>      <td>i</td>    </tr>    <tr>      <th>k</th>      <td>k</td>      <td>j</td>      <td>-i</td>      <td>-1</td>    </tr>  </tbody></table>

```python
import numpy as np
import sympy as sp
import pandas as pd
X1 = np.matrix([
    ["1","i","j","k"],
    ["i","-1","k","-j"],
    ["j","-k","-1","i"],
    ["k","j","-i","-1"]])
#x=X1.transpose()
x=X1
df=pd.DataFrame(x,columns=["1",'i','j','k'],index=["1",'i','j','k'])
sp.init_printing()
org=df.to_html()
print(org.replace('\n', ''))
```
要するに以下の関係にあるんですね。

* ij=−ji=k
* jk=−kj=i
* ki=−ik=j

ちなみにこの四元数間で積を求める演算がベクトルにおける**内積**(Inner Product=スカラー積)と**外積**(Outer Product=ベクトル積/クロス積)の概念の起源となります。
[四元数と行列で見る内積と外積の「内」と「外」](https://qiita.com/7shi/items/a80988a32a0d706e9378)

```math
{\begin{align}
&(ai+bj+ck)(di+ej+fk) \\
&=ai(di+ej+fk) \\
&\quad +bi(di+ej+fk) \\
&\quad +cj(di+ej+fk) \\
&=ad\underbrace{ii}_{-1}+ae\underbrace{ij}_{k}+af\underbrace{ik}_{-j} \\
&\quad +bd\underbrace{ji}_{-k}+be\underbrace{jj}_{-1}+bf\underbrace{jk}_{i} \\
&\quad +cd\underbrace{ki}_{j}+ce\underbrace{kj}_{-i}+cf\underbrace{kk}_{-1} \\
&=-\underbrace{(ad+be+cf)}_{内積} \\
&\quad +\underbrace{(bf-ce)i+(cd-af)j+(ae-bd)k}_{外積}
\end{align}
}
```
行列演算の場合

```math
{\begin{align}
&(ai+bj+ck)(di+ej+fk) \\
&=\left(\begin{matrix} i &  j &  k \end{matrix}\right)
  \left(\begin{matrix} a \\ b \\ c \end{matrix}\right)
  \left(\begin{matrix} d &  e &  f \end{matrix}\right)
  \left(\begin{matrix} i \\ j \\ k \end{matrix}\right) \\
&=\left(\begin{matrix} i &  j &  k \end{matrix}\right)
  \left(\begin{matrix} ad & ae & af \\ bd & be & bf \\ cd & ce & cf \end{matrix}\right)
  \left(\begin{matrix} i \\ j \\ k \end{matrix}\right) \\
&=-(ad+be+cf) \\
&\quad +(bf-ce)i+(cd-af)j+(ae-bd)k
\end{align}
}
```
途中過程で現れる**内積**(内)と**外積**(外)の関係

```math
{\left(\begin{matrix}
  \underbrace{ad}_{内} & \underbrace{ae}_{外} & \underbrace{af}_{外} \\
  \underbrace{bd}_{外} & \underbrace{be}_{内} & \underbrace{bf}_{外} \\
  \underbrace{cd}_{外} & \underbrace{ce}_{外} & \underbrace{cf}_{内}
\end{matrix}\right)
}
```
全部二次元配列で処理出来てしまってますね。ついでにいわゆる**回転行列**(Rotation Matrix)の場合についても見ておきましょう。
[回転行列 - Wikipedia](https://ja.wikipedia.org/wiki/%E5%9B%9E%E8%BB%A2%E8%A1%8C%E5%88%97)

>ユークリッド空間内における原点中心の回転変換の表現行列のことである。n次元空間における回転行列は、実数を成分とする正方行列であって、**行列式が1のn次直交行列**として特徴づけられる。**n次元の回転行列**全体は**特殊直交群**（あるいは回転群）SO(n)と呼ばれる群をなす。

```math
{}^{t}\!R=R^{-1},\;\det R=1.
```

**二次元の回転行列**

>原点中心に θ 回転して点 (x, y) が (x ', y ') に写るとすると、図形的考察または三角関数の加法定理より、x ', y ' は以下のように表される。

[【初心者向け】「加法定理の幾何学的証明」に挑戦。](https://qiita.com/ochimusha01/items/36c0e84c434e6cdd6ec3)

```math
x'=x\cos \theta -y\sin \theta \\
y'=x\sin \theta +y\cos \theta 
```
>このことを行列の積で表すと以下となる。

```math
{\begin{bmatrix}x'\\y'\end{bmatrix}}={\begin{bmatrix}\cos \theta &-\sin \theta \\\sin \theta &\cos \theta \\\end{bmatrix}}{\begin{bmatrix}x\\y\end{bmatrix}}
```

```python
import sympy as sp
θ,x,y = sp.symbols("θ,x,y")
#Rows
a=sp.Matrix([[sp.cos(θ),-sp.sin(θ)],[sp.sin(θ),sp.cos(θ)]])
#Columns
b=sp.Matrix([[x],[y]])
sp.init_printing()
display(a*b)
print(sp.latex(a)+sp.latex(b)+"="+sp.latex(sp.simplify(a*b)))
display(a.T)
print("{}^T"+sp.latex(a)+"="+sp.latex(sp.simplify(a.T)))
display(a**-1)
print(sp.latex(a)+"^{-1}="+sp.latex(a**-1)+"=" + sp.latex(sp.simplify(a**-1)))
display(a.det())
print(sp.latex(a)+sp.latex(b)+".det="+sp.latex(a.det())+"=" + sp.latex(sp.simplify(a.det())))
```

```math
\left[\begin{matrix}\cos{\left(θ \right)} & - \sin{\left(θ \right)}\\\sin{\left(θ \right)} & \cos{\left(θ \right)}\end{matrix}\right]\left[\begin{matrix}x\\y\end{matrix}\right]=\left[\begin{matrix}x \cos{\left(θ \right)} - y \sin{\left(θ \right)}\\x \sin{\left(θ \right)} + y \cos{\left(θ \right)}\end{matrix}\right]\\
{}^T\left[\begin{matrix}\cos{\left(θ \right)} & - \sin{\left(θ \right)}\\\sin{\left(θ \right)} & \cos{\left(θ \right)}\end{matrix}\right]=\left[\begin{matrix}\cos{\left(θ \right)} & \sin{\left(θ \right)}\\- \sin{\left(θ \right)} & \cos{\left(θ \right)}\end{matrix}\right]\\
\left[\begin{matrix}\cos{\left(θ \right)} & - \sin{\left(θ \right)}\\\sin{\left(θ \right)} & \cos{\left(θ \right)}\end{matrix}\right]^{-1}=\left[\begin{matrix}- \frac{\sin^{2}{\left(θ \right)}}{\cos{\left(θ \right)}} + \frac{1}{\cos{\left(θ \right)}} & \sin{\left(θ \right)}\\- \sin{\left(θ \right)} & \cos{\left(θ \right)}\end{matrix}\right]=\left[\begin{matrix}\cos{\left(θ \right)} & \sin{\left(θ \right)}\\- \sin{\left(θ \right)} & \cos{\left(θ \right)}\end{matrix}\right]\\
\left[\begin{matrix}\cos{\left(θ \right)} & - \sin{\left(θ \right)}\\\sin{\left(θ \right)} & \cos{\left(θ \right)}\end{matrix}\right]\left[\begin{matrix}x\\y\end{matrix}\right].det=\sin^{2}{\left(θ \right)} + \cos^{2}{\left(θ \right)}=1
```

>従って2次元空間ユークリッド空間においては原点中心の**θ回転**（反時計回りを正とする）を以下の転行列の形で表す事が出来る。

```math
R(\theta )={\begin{bmatrix}\cos \theta &-\sin \theta \\\sin \theta &\cos \theta \\\end{bmatrix}}
```
>逆回転は、回転角が −θ になるだけなので以下となる。

```math
R(-\theta )={\begin{bmatrix}\cos(-\theta )&-\sin(-\theta )\\\sin(-\theta )&\cos(-\theta )\\\end{bmatrix}}={\begin{bmatrix}\cos \theta &\sin \theta \\-\sin \theta &\cos \theta \\\end{bmatrix}}
```
>また行列の指数関数を用いた以下の表示もある。

```math
{\displaystyle R(\theta )=\exp \left(\theta {\begin{bmatrix}0&-1\\1&0\end{bmatrix}}\right)}{\displaystyle R(\theta )=\exp \left(\theta {\begin{bmatrix}0&-1\\1&0\end{bmatrix}}\right)}
```

**3次元の回転行列**

>3次元空間でのx軸、y軸、z軸周りの回転を表す回転行列は、それぞれ次の通りとなる：

```math
R_{x}(\theta )={\begin{bmatrix}1&0&0\\0&\cos \theta &-\sin \theta \\0&\sin \theta &\cos \theta \\\end{bmatrix}}\\
R_{y}(\theta )={\begin{bmatrix}\cos \theta &0&\sin \theta \\0&1&0\\-\sin \theta &0&\cos \theta \\\end{bmatrix}}\\
R_{z}(\theta )={\begin{bmatrix}\cos \theta &-\sin \theta &0\\\sin \theta &\cos \theta &0\\0&0&1\end{bmatrix}}
```
>ここで回転の方向は$R_{x}$はy軸をz軸に向ける方向、$R_{y}$はz軸をx軸に向ける方向、$R_{z}$はx軸をy軸に向ける方向となる。一般の回転行列も、これら3つの各軸周りの回転行列$R_{x},R_{y},R_{z}$の積によって得ることができる。 例えば$R_{z}(\gamma )R_{x}(\beta )R_{y}(\alpha )$は、yxz系で表したときのオイラー角が α, β, γ であるような回転を表す。

**任意の軸周りの回転**

>任意の回転行列は、ある軸${\mathbf  {n}}$まわりの角度$\theta$の回転という形に表示できる。このような回転行列はロドリゲスの回転公式により以下の様に表示出来る。

```math
{\displaystyle R_{\mathbf {n} }(\theta )={\begin{bmatrix}\cos \theta +n_{x}^{2}\left(1-\cos \theta \right)&n_{x}n_{y}\left(1-\cos \theta \right)-n_{z}\sin \theta &n_{z}n_{x}\left(1-\cos \theta \right)+n_{y}\sin \theta \\n_{x}n_{y}\left(1-\cos \theta \right)+n_{z}\sin \theta &\cos \theta +n_{y}^{2}\left(1-\cos \theta \right)&n_{y}n_{z}\left(1-\cos \theta \right)-n_{x}\sin \theta \\n_{z}n_{x}\left(1-\cos \theta \right)-n_{y}\sin \theta &n_{y}n_{z}\left(1-\cos \theta \right)+n_{x}\sin \theta &\cos \theta +n_{z}^{2}\left(1-\cos \theta \right)\\\end{bmatrix}}}
```

>また、任意のベクトル${\mathbf  {r}}$へのその作用は以下の様に書ける。

```math
{\displaystyle R_{\mathbf {n} }(\theta )\mathbf {r} =\mathbf {r} \cos \theta +\mathbf {n} (\mathbf {n} \cdot \mathbf {r} )(1-\cos \theta )+(\mathbf {n} \times \mathbf {r} )\sin \theta }
```
やはり全て二次元配列で扱える範囲。なので、ますます三次元配列の需要が遠のいてしまったという印象があります。かなり竜頭蛇尾な感じで終わってしまいましたが、とりあえずそんな感じで以下続報…