【連続極座標系】「冪乗関数の極限(Limit of Exponentiation Function)」問題と「距離関数(Metric Function)」概念の導入による解決

(2021.10.10)あまりに長文になり過ぎたので分割

とりあえず**加法群**(Additive Group)と**乗法群**(Multiplicative Group)と**商群**(Quotient Group)の関係を**円筒形座標系**(Cylindrical Coordinate System)を土台にモデル化してみました。
[【連続極座標系】円筒形座標系による加法群と乗法群と商群の統合](https://qiita.com/ochimusha01/items/2eb64566f82f27fee3f3)
![image.gif](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fo%252Fochimusha01%252F20210625%252F20210625170910.gif%3Fixlib%3Drb-4.0.0%26auto%3Dformat%26gif-q%3D60%26q%3D75%26w%3D1400%26fit%3Dmax%26s%3D76c6e1554caf21d977334b755ac484fc?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&w=1400&fit=max&s=f3c0e88eeee2fdedd7a87f33a0630e26)
![image.gif](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fqiita-user-contents.imgix.net%252Fhttps%25253A%25252F%25252Fcdn-ak.f.st-hatena.com%25252Fimages%25252Ffotolife%25252Fo%25252Fochimusha01%25252F20210625%25252F20210625170509.gif%253Fixlib%253Drb-4.0.0%2526auto%253Dformat%2526gif-q%253D60%2526q%253D75%2526w%253D1400%2526fit%253Dmax%2526s%253Dc7fde6bb8ed93225ed217993e31517ce%3Fixlib%3Drb-4.0.0%26auto%3Dformat%26gif-q%3D60%26q%3D75%26w%3D1400%26fit%3Dmax%26s%3Dda3c83743ef6027b8b83a0af432414c8?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&w=1400&fit=max&s=65314505e7014c11f0aa5aac9e9d4f0f)
![image.gif](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fqiita-user-contents.imgix.net%252Fhttps%25253A%25252F%25252Fcdn-ak.f.st-hatena.com%25252Fimages%25252Ffotolife%25252Fo%25252Fochimusha01%25252F20210625%25252F20210625170838.gif%253Fixlib%253Drb-4.0.0%2526auto%253Dformat%2526gif-q%253D60%2526q%253D75%2526w%253D1400%2526fit%253Dmax%2526s%253D72bf32489d521a4a9d448bea596e54bf%3Fixlib%3Drb-4.0.0%26auto%3Dformat%26gif-q%3D60%26q%3D75%26w%3D1400%26fit%3Dmax%26s%3D0cf225aaeca8afe0a7d7a99af5ff853f?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&w=1400&fit=max&s=a3c74e818b840ef4e3c764738d132de7)
しかし所詮は素人の咄嗟の思いつき。テスト運用を重ねながら少しずつまともに動くものにしていきたいと考えています。

で、その第一弾に選んだのが、掲題にある「**冪乗関数の極限問題**」という次第なんですね。

* これまでの投稿は、共通してそれ自体は観測対象とならない**観測原点**(Observation Origin)0と**観測限界**(Observation Limit)を結ぶ**開区間**(Open Interval)としての**観測結果集合**(Observation Result Set)としての**観測線**(Observation Line)/**観測円**(Observation Circle)/**観測球面**(Observation Circle)の方便から出発してきました。有意味な観測値が得られるまでそれは単なる空集合に過ぎず、しかも観測結果の相互関係が一切不明の**名義尺度**(Nominal Scale)からスタートするイメージ。<br>[【Python演算処理】環論に立脚した全体像再構築①空環と実数環](https://qiita.com/ochimusha01/items/361c1abe1ea8e2540fb9)
* そして一貫して1次元ずつ扱える次元を増やし、n次元の**内積空間**(Inner product Space)/**計量ベクトル空間**への到達を目指してきた訳ですが、その試みが今回の投稿で大きな試練を受ける羽目に陥ったのでした。<br>[計量ベクトル空間 - Wikipedia](https://ja.wikipedia.org/wiki/%E8%A8%88%E9%87%8F%E3%83%99%E3%82%AF%E3%83%88%E3%83%AB%E7%A9%BA%E9%96%93)

まさに、この辺りこそが近代までの伝統的数学と現代数学の狭間なのかもしれません。それが現代数学においては大学1年生~2年生向けの入門レベルというのだから恐ろしい限りです。

# 線形関数(<font color=blue>Liner Function</font>)と反比例関数(<font color=blue>Inverse Proportional Function</font>)の連続性
冪乗関数$y=a^x(a,x \in \mathbb{R})$を用いれば、**線形関数**(Liner Function)y=x(y=x^1)と、その逆関数たる**反比例関数**(Inverse Proportional Function)$y=\frac{1}{x}(y=x^{-1})$を**連続する関数表現**(Continuous Function Expression)に収める事が出来ます。ただしaが**特異点**(Singular Point)0に収束する時、1対１対応が崩れた**多価関数**(Multivalued Function)となってしまうのです。

```math
y=\lim_{a \to 0}a^x = \left\{
\begin{array}{ll}
y=-1 & (x>0)  \\
-1 < y < 1 & (x=0)  \\
y=1 & (x<0)
\end{array}
\right.
```
![68747470733a2f2f63646e2d616b2e662e73742d686174656e612e636f6d2f696d616765732f666f746f6c6966652f6f2f6f6368696d7573686130312f32303231313030322f32303231313030323034343830362e676966.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/63e97209-a3ca-a582-b984-383a531f8b84.gif)

```python
%matplotlib nbagg
import math as m
import cmath as c
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation

# 等差数列を生成
X = np.linspace(0,10,101,endpoint =True)
plt.style.use('default')
fig = plt.figure()
tcode=np.linspace(-1,1,41,endpoint =True)
Tcode=tcode[::-1]

def exponential(n):
    plt.cla()
    # 可視化
    plt.plot(X,X,color="green", label="y=x")
    plt.plot(-X,-X,color="green")
    plt.plot(X,1/X,color="purple", label="y=1/x")
    plt.plot(-X,-1/X,color="purple")
    Y1=X**Tcode[n]
    es="{:0<+5}".format(round(Tcode[n],3))
    ex01="y=X^("+es+")"
    plt.plot(X,Y1,color="blue", label=ex01)
    plt.plot(-X,-Y1,color="blue")
    #頂点
    plt.plot(1, 1,color="black", marker="o")
    plt.plot(-1, -1,color="black", marker="o")
    plt.plot(0, 1,color="black", marker="o")
    plt.plot(0, -1,color="black", marker="o")
    plt.plot(1,0,color="black", marker="o")
    plt.plot(-1,0,color="black", marker="o")
    #座標
    plt.hlines(0,-10,10,color="black")
    plt.hlines(1,-10,10,color="black",lw=0.5)
    plt.hlines(-1,-10,10,color="black",lw=0.5)
    plt.vlines(0,-10,10,color="black")
    plt.vlines(1,-10,10,color="black",lw=0.5)
    plt.vlines(-1,-10,10,color="black",lw=0.5)
    plt.ylim([-4,4])
    plt.xlim([-4,4])
    plt.xlabel("X")
    plt.ylabel("Y")
    plt.title("Lineer Function → Inverse Proportional Function")
    ax = fig.add_subplot(111)
    ax.text(1, 1," (1,1)",color="black", size=9)
    ax.text(-1, -1," (-1,-1)",color="black", size=9)
    ax.text(0, 1," (0,1)",color="black", size=9)
    ax.text(0, -1," (0,-1)",color="black", size=9)
    ax.text(1, 0," (0,1)",color="black", size=9)
    ax.text(-1,0," (0,-1)",color="black", size=9)
    ax.set_aspect('equal')
    ax.legend(loc='lower center')
    #plt.show()

ani = animation.FuncAnimation(fig, exponential, interval=50,frames=len(Tcode))
ani.save("LtIP004.gif", writer="pillow")
```

* わーい、**ステップ関数**。まさかの時に**ステップ関数**…<br>[【数理考古学】ディラックのデルタ関数とヘヴィサイドのステップ関数](https://qiita.com/ochimusha01/items/6070c4991a3a8481dad9)

ちなみにa>1の場合は以下の形に収束します。

```math
y=\lim_{a=1 \to ∞}a^x = \left\{
\begin{array}{ll}
y=0 & (0<x<1)  \\
0 < y <∞ & (x=1)
\end{array}
\right.
```
![68747470733a2f2f63646e2d616b2e662e73742d686174656e612e636f6d2f696d616765732f666f746f6c6966652f6f2f6f6368696d7573686130312f32303231313030322f32303231313030323036343235322e676966.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/5dc196da-7931-3400-5a42-9875c1a8c60e.gif)


```python
%matplotlib nbagg
import math as m
import cmath as c
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation

# 等差数列を生成
X = np.linspace(0,10,101,endpoint =True)
plt.style.use('default')
fig = plt.figure()
Tcode=np.linspace(1,12,41,endpoint =True)

def exponential(n):
    plt.cla()
    # 可視化
    plt.plot(X,X,color="green", label="y=x")
    plt.plot(-X,-X,color="green")
    plt.plot(X,1/X,color="purple", label="y=1/x")
    plt.plot(-X,-1/X,color="purple")
    Y1=X**Tcode[n]
    es="{:0<+7}".format(round(Tcode[n],3))
    ex01="y=X^("+es+")"
    plt.plot(X,Y1,color="blue", label=ex01)
    plt.plot(-X,-Y1,color="blue")
    #頂点
    plt.plot(1, 1,color="black", marker="o")
    plt.plot(-1, -1,color="black", marker="o")
    plt.plot(0, 1,color="black", marker="o")
    plt.plot(0, -1,color="black", marker="o")
    plt.plot(1,0,color="black", marker="o")
    plt.plot(-1,0,color="black", marker="o")
    #座標
    plt.hlines(0,-10,10,color="black")
    plt.hlines(1,-10,10,color="black",lw=0.5)
    plt.hlines(-1,-10,10,color="black",lw=0.5)
    plt.vlines(0,-10,10,color="black")
    plt.vlines(1,-10,10,color="black",lw=0.5)
    plt.vlines(-1,-10,10,color="black",lw=0.5)
    plt.ylim([-4,4])
    plt.xlim([-4,4])
    plt.xlabel("X")
    plt.ylabel("Y")
    plt.title("Lineer Function → Inverse Proportional Function")
    ax = fig.add_subplot(111)
    ax.text(1, 1," (1,1)",color="black", size=9)
    ax.text(-1, -1," (-1,-1)",color="black", size=9)
    ax.text(0, 1," (0,1)",color="black", size=9)
    ax.text(0, -1," (0,-1)",color="black", size=9)
    ax.text(1, 0," (0,1)",color="black", size=9)
    ax.text(-1,0," (0,-1)",color="black", size=9)
    ax.set_aspect('equal')
    ax.legend(loc='lower center')
    #plt.show()

ani = animation.FuncAnimation(fig, exponential, interval=50,frames=len(Tcode))
ani.save("LtIP006.gif", writer="pillow")
```
またa>-1の場合は以下の形に収束します。

```math
y=\lim_{a=-1 \to -∞}a^x = \left\{
\begin{array}{ll}
0 < y< ∞ & (x=1)  \\
y = 0 & (x>1)
\end{array}
\right.
```
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20211002/20211002062928.gif)
![68747470733a2f2f63646e2d616b2e662e73742d686174656e612e636f6d2f696d616765732f666f746f6c6966652f6f2f6f6368696d7573686130312f32303231313030322f32303231313030323036323932382e676966.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/a8a29ee9-bb52-4a6d-e3d5-486b5743194d.gif)

```python
%matplotlib nbagg
import math as m
import cmath as c
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation

# 等差数列を生成
X = np.linspace(0,10,101,endpoint =True)
plt.style.use('default')
fig = plt.figure()
tcode=np.linspace(-12,-1,41,endpoint =True)
Tcode=tcode[::-1]
def exponential(n):
    plt.cla()
    # 可視化
    plt.plot(X,X,color="green", label="y=x")
    plt.plot(-X,-X,color="green")
    plt.plot(X,1/X,color="purple", label="y=1/x")
    plt.plot(-X,-1/X,color="purple")
    Y1=X**Tcode[n]
    es="{:0<+7}".format(round(Tcode[n],3))
    ex01="y=X^("+es+")"
    plt.plot(X,Y1,color="blue", label=ex01)
    plt.plot(-X,-Y1,color="blue")
    #頂点
    plt.plot(1, 1,color="black", marker="o")
    plt.plot(-1, -1,color="black", marker="o")
    plt.plot(0, 1,color="black", marker="o")
    plt.plot(0, -1,color="black", marker="o")
    plt.plot(1,0,color="black", marker="o")
    plt.plot(-1,0,color="black", marker="o")
    #座標
    plt.hlines(0,-10,10,color="black")
    plt.hlines(1,-10,10,color="black",lw=0.5)
    plt.hlines(-1,-10,10,color="black",lw=0.5)
    plt.vlines(0,-10,10,color="black")
    plt.vlines(1,-10,10,color="black",lw=0.5)
    plt.vlines(-1,-10,10,color="black",lw=0.5)
    plt.ylim([-4,4])
    plt.xlim([-4,4])
    plt.xlabel("X")
    plt.ylabel("Y")
    plt.title("Lineer Function → Inverse Proportional Function")
    ax = fig.add_subplot(111)
    ax.text(1, 1," (1,1)",color="black", size=9)
    ax.text(-1, -1," (-1,-1)",color="black", size=9)
    ax.text(0, 1," (0,1)",color="black", size=9)
    ax.text(0, -1," (0,-1)",color="black", size=9)
    ax.text(1, 0," (0,1)",color="black", size=9)
    ax.text(-1,0," (0,-1)",color="black", size=9)
    ax.set_aspect('equal')
    ax.legend(loc='lower center')
    #plt.show()

ani = animation.FuncAnimation(fig, exponential, interval=50,frames=len(Tcode))
ani.save("LtIP010.gif", writer="pillow")
```
関数$y=a^x(a=-∞ \to　0 \to　+∞)$の全体像を俯瞰すると以下。$1 \to -1$区間の通過なんて瞬く間に終わってしまいますね。
![68747470733a2f2f63646e2d616b2e662e73742d686174656e612e636f6d2f696d616765732f666f746f6c6966652f6f2f6f6368696d7573686130312f32303231313030342f32303231313030343034323032352e676966.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/223a5520-39bb-53fc-c88b-1ae9ac09bfb6.gif)

```python
%matplotlib nbagg
import math as m
import cmath as c
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation

# 等差数列を生成
X = np.linspace(0,10,101,endpoint =True)
plt.style.use('default')
fig = plt.figure()
tcode=np.linspace(-12,12,41,endpoint =True)
Tcode=tcode[::-1]

def exponential(n):
    plt.cla()
    # 可視化
    plt.plot(X,X,color="green", label="y=x")
    plt.plot(-X,-X,color="green")
    plt.plot(X,1/X,color="purple", label="y=1/x")
    plt.plot(-X,-1/X,color="purple")
    Y1=X**Tcode[n]
    es="{:0<+5}".format(round(Tcode[n],3))
    ex01="y=X^("+es+")"
    plt.plot(X,Y1,color="blue", label=ex01)
    plt.plot(-X,-Y1,color="blue")
    #頂点
    plt.plot(1, 1,color="black", marker="o")
    plt.plot(-1, -1,color="black", marker="o")
    plt.plot(0, 1,color="black", marker="o")
    plt.plot(0, -1,color="black", marker="o")
    plt.plot(1,0,color="black", marker="o")
    plt.plot(-1,0,color="black", marker="o")
    #座標
    plt.hlines(0,-10,10,color="black")
    plt.hlines(1,-10,10,color="black",lw=0.5)
    plt.hlines(-1,-10,10,color="black",lw=0.5)
    plt.vlines(0,-10,10,color="black")
    plt.vlines(1,-10,10,color="black",lw=0.5)
    plt.vlines(-1,-10,10,color="black",lw=0.5)
    plt.ylim([-4,4])
    plt.xlim([-4,4])
    plt.xlabel("X")
    plt.ylabel("Y")
    plt.title("Lineer Function → Inverse Proportional Function")
    ax = fig.add_subplot(111)
    ax.text(1, 1," (1,1)",color="black", size=9)
    ax.text(-1, -1," (-1,-1)",color="black", size=9)
    ax.text(0, 1," (0,1)",color="black", size=9)
    ax.text(0, -1," (0,-1)",color="black", size=9)
    ax.text(1, 0," (0,1)",color="black", size=9)
    ax.text(-1,0," (0,-1)",color="black", size=9)
    ax.set_aspect('equal')
    ax.legend(loc='lower center')
    #plt.show()

ani = animation.FuncAnimation(fig, exponential, interval=50,frames=len(Tcode))
ani.save("RS001.gif", writer="pillow")
```
ちなみにlog、すなわちx座標とy座標を入れ替えた場合の計算は以下。
![68747470733a2f2f63646e2d616b2e662e73742d686174656e612e636f6d2f696d616765732f666f746f6c6966652f6f2f6f6368696d7573686130312f32303231313030392f32303231313030393033333632312e676966.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/cb95be8f-88b1-e07d-d66b-ce5d964d190d.gif)

```python
%matplotlib nbagg
import math as m
import cmath as c
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation

# 等差数列を生成
X = np.linspace(0,10,101,endpoint =True)
plt.style.use('default')
fig = plt.figure()
tcode=np.linspace(-12,12,41,endpoint =True)
Tcode=tcode[::-1]

def exponential(n):
    plt.cla()
    # 可視化
    plt.plot(X,X,color="green", label="y=x")
    plt.plot(-X,-X,color="green")
    plt.plot(X,1/X,color="purple", label="y=1/x")
    plt.plot(-X,-1/X,color="purple")
    Y1=X**Tcode[n]
    es="{:0<+5}".format(round(Tcode[n],3))
    ex01="y=log("+es+",X)"
    plt.plot(Y1,X,color="blue", label=ex01)
    plt.plot(-Y1,-X,color="blue")
    #頂点
    plt.plot(1, 1,color="black", marker="o")
    plt.plot(-1, -1,color="black", marker="o")
    plt.plot(0, 1,color="black", marker="o")
    plt.plot(0, -1,color="black", marker="o")
    plt.plot(1,0,color="black", marker="o")
    plt.plot(-1,0,color="black", marker="o")
    #座標
    plt.hlines(0,-10,10,color="black")
    plt.hlines(1,-10,10,color="black",lw=0.5)
    plt.hlines(-1,-10,10,color="black",lw=0.5)
    plt.vlines(0,-10,10,color="black")
    plt.vlines(1,-10,10,color="black",lw=0.5)
    plt.vlines(-1,-10,10,color="black",lw=0.5)
    plt.ylim([-4,4])
    plt.xlim([-4,4])
    plt.xlabel("X")
    plt.ylabel("Y")
    plt.title("log Function")
    ax = fig.add_subplot(111)
    ax.text(1, 1," (1,1)",color="black", size=9)
    ax.text(-1, -1," (-1,-1)",color="black", size=9)
    ax.text(0, 1," (0,1)",color="black", size=9)
    ax.text(0, -1," (0,-1)",color="black", size=9)
    ax.text(1, 0," (0,1)",color="black", size=9)
    ax.text(-1,0," (0,-1)",color="black", size=9)
    ax.set_aspect('equal')
    ax.legend(loc='lower center')
    #plt.show()

ani = animation.FuncAnimation(fig, exponential, interval=50,frames=len(Tcode))
ani.save("RS101.gif", writer="pillow")
```
それとなく感じられる**特異点**(Singular Point)としての**観測原点**0($a^{-∞}$)と**観測限界**∞($a^{+∞}$)の連続性…

* こうしてグラフ全体を俯瞰してみると、**特異点**(Singular Point)(-1,0)(1,0)を境界線に実数列が開集合(-1→0+1)と開集合(-1→∞→1)の2つに分割される様にも見受けられる。この様にある意味**観測原点**(Observation Origin)0と**観測限界**(Observation Limit)∞を**対蹠**(Antipodes)として対峙させる形で観測球面(Observation Sphere)を構成する方便は、**リーマン球面**(Riemann Sphere)のアイディアそのものであり、かつ**離心率**(Eccentricity)概念導入による**円関数概念**と**楕円関数概念**と**放物線概念**と**双曲線関数概念**の統合に対応する。<br>[リーマン球面 - Wikipedia](https://ja.wikipedia.org/wiki/%E3%83%AA%E3%83%BC%E3%83%9E%E3%83%B3%E7%90%83%E9%9D%A2)<br>[【連続極座標系】離心率εの極限に現れる虚数について。
](https://qiita.com/ochimusha01/items/62300d5bceae7e9c5e1d)<br>![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20211010/20211010113709.gif)

ところで第一象限分布aの逆元$a^{-1}$を設定すると、冪乗関数$y=a^{x}$でa=1の場合に$a,a^{-1} \in A$が成立して関数y=xを群演算とする**群同型**、それ以外の場合は$a　\in A,a^{-1} \in A^{-1}$が成立して関数$y=a^{x}$を群演算とする**全準同型**が成立します(ちなみにどちらも奇関数)。

```math
y=a^{x} = \left\{
\begin{array}{ll}
a,a^{-1} \in A & (a=1)  \\
a　\in A,a^{-1} \in A^{-1} & (a≠1)
\end{array}
\right.
```
問題はこの逆元$a^{-1}$は図の様に**第三象限**に現れねばならない筈なのに、xに反数を与えた場合には**第二象限**、yに反数を与えた場合には**第四象限**に現れてしまう点にあります。実はこの問題を解決するには虚数$i^2=-1$の概念の導入が不可欠なのですが、xy座標(1,1)で反比例関数$y=\frac{1}{x}$のグラフと接するのは原点(0,0)を中心とする半径$\sqrt{2}=1.414214$の円なので、この時導入されるのは単なる半径1の単位円でなく極座標系上の**同心集合**(Concentric Set)、すなわち関数$y=2^{\frac{x}{2}}$を群演算とする(正方形とその内接円/外接円の繰り返しで構成される)**乗法実数群**となるのです。

![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20211002/20211002122807.gif)

```python
%matplotlib nbagg
import math as m
import cmath as c
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation

# 等差数列を生成
X = np.linspace(0,10,101,endpoint =True)
plt.style.use('default')
fig = plt.figure()
Tcode=np.linspace(-3,1,41,endpoint =True)
#Tcode=tcode[::-1]
def exponential(n):
    plt.cla()
    # 可視化
    plt.plot(X,X,color="green", label="y=x")
    plt.plot(-X,-X,color="green")
    plt.plot(X,1/X,color="purple", label="y=1/x")
    plt.plot(-X,-1/X,color="purple")
    #内接円
    y1=[]
    for nm in range(len(Tcode)):
        y1.append((0+1j)**Tcode[nm])
    Y1=np.array(y1)
    es="{:0<+7}".format(round(Tcode[n],3))
    ex01="y=i^("+es+")"
    plt.plot(Y1.real,Y1.imag,color="blue", label=ex01)
    plt.plot([0,Y1.real[n]],[0,Y1.imag[n]],color="red")
    #外接円
    ang=np.linspace(0,2*np.pi,len(Tcode),endpoint =True)
    r0=abs(1+1j)
    t0=c.phase(1+1j)
    y2=[]
    for nm in range(len(Tcode)):
        y2.append(c.rect(r0,t0+ang[nm]))
    Y2=np.array(y2)
    plt.plot(Y2.real,Y2.imag,color="green")
    plt.plot([0,Y2.real[n]],[0,Y2.imag[n]],color="green")
    #頂点
    plt.plot(1, 1,color="black", marker="o")
    plt.plot(-1, -1,color="black", marker="o")
    plt.plot(0, 1,color="black", marker="o")
    plt.plot(0, -1,color="black", marker="o")
    plt.plot(1,0,color="black", marker="o")
    plt.plot(-1,0,color="black", marker="o")
    plt.plot(Y1.real[n],Y1.imag[n],color="red", marker="o")
    plt.plot(Y2.real[n],Y2.imag[n],color="green", marker="o")
    #座標
    plt.hlines(0,-10,10,color="black")
    plt.hlines(1,-10,10,color="black",lw=0.5)
    plt.hlines(-1,-10,10,color="black",lw=0.5)
    plt.vlines(0,-10,10,color="black")
    plt.vlines(1,-10,10,color="black",lw=0.5)
    plt.vlines(-1,-10,10,color="black",lw=0.5)
    plt.ylim([-4,4])
    plt.xlim([-4,4])
    plt.xlabel("X(Real)")
    plt.ylabel("Y(Imaginal)")
    plt.title("Complex Function i^x")
    ax = fig.add_subplot(111)
    ax.text(1, 1," (1,1)",color="black", size=9)
    ax.text(-1, -1," (-1,-1)",color="black", size=9)
    ax.text(0, 1," (0,1)",color="black", size=9)
    ax.text(0, -1," (0,-1)",color="black", size=9)
    ax.text(1, 0," (0,1)",color="black", size=9)
    ax.text(-1,0," (0,-1)",color="black", size=9)
    #内接円の座表
    spr="{:0<+5}".format(round(Y1.real[n],3))
    spi="{:0<+5}".format(round(Y1.imag[n],3))
    sp= "("+spr+","+spi+"i)"
    ax.text(Y1.real[n],Y1.imag[n],sp,color="red", size=9)
    #外接円の座表
    spr="{:0<+5}".format(round(Y2.real[n],3))
    spi="{:0<+5}".format(round(Y2.imag[n],3))
    sp= "("+spr+","+spi+"i)"
    ax.text(Y2.real[n],Y2.imag[n],sp,color="green", size=9)

    ax.set_aspect('equal')
    ax.legend(loc='lower center')
    #plt.show()

ani = animation.FuncAnimation(fig, exponential, interval=50,frames=len(Tcode))
ani.save("cmp002.gif", writer="pillow")
```
[【Pyrhon演算処理】同心集合①乗法的同心集合とは？](https://qiita.com/ochimusha01/items/9ed0fa5871b3f913306a)
![image.gif](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fo%252Fochimusha01%252F20210619%252F20210619222241.gif%3Fixlib%3Drb-4.0.0%26auto%3Dformat%26gif-q%3D60%26q%3D75%26w%3D1400%26fit%3Dmax%26s%3D7b472277a78ea87609240b8dabc8dbab?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&w=1400&fit=max&s=5e263d8d9b651da25325a9b257367f5a)

* **複素数表現**(Complex Expreesion)a+bi($a,b \in \mathbb{R}$)においては、容易に極座標系(r,θ)形式へと移行可能であり、この時r(半径)はabs(a+bi)、θはmπi+2πn($n \in \mathbb{Z},0≦m<2π$)の形に置換される。さらには**複素共益**(Complex Conjugate)a-biを取る事がすなわち**逆元**を求める行為に該当し(当然、逆元の複素共益は元となる)、両者が同一円弧上にある事から**群同型**が成立。
* 両者の積がある意味直行する「**この場合の単位元**(分枝切断点=観測原点0)」となるが、単なる実数a+0iの複素共益を取ってもその数自身となるだけである。

一方、こうした矛盾を**距離関数**(Metric Function)概念の導入は「**例え何次元上にどんな形で展開していようとも、関数の値域が始点と終点を結ぶ線上に分布する以上は始点を下限、終点を上限とする距離で表せる**」という形で克服する訳です。
[【初心者向け】方形描画関数②距離空間との関係。](https://qiita.com/ochimusha01/items/06e49a35dffbd12b35aa)

```math
Lp(p)=(x^p+y^p+z^p+…)^{\frac{1}{p}}
```
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20211010/20211010070316.gif)

```python
%matplotlib nbagg
import math as m
import cmath as c
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation

# 距離関数
def lpnorm(x,p):
    return((1-x**p)**(1/p))
X = np.linspace(0,1,61,endpoint =True)
Y1=lpnorm(X,1/10)
Y2=lpnorm(X,1/1.782273)
Y3=lpnorm(X,1)
Y4=lpnorm(X,2)
Y5=lpnorm(X,99)
tcode1=np.linspace(-4,4,16,endpoint =True)
tcode2=np.linspace(-4,4,16,endpoint =False)
Tcode=np.concatenate([2**tcode1,2**tcode2[::-1]])
plt.style.use('default')
fig = plt.figure()

def lpnorm_draw(n):
    plt.cla()
    # 可視化
    plt.plot(X,Y1,color="darkred", label="p→0")
    plt.plot(X,Y2,color="red", label="p=1/1.78")
    plt.plot(X,Y3,color="purple", label="p=1")
    plt.plot(X,Y4,color="blue", label="p=2")
    plt.plot(X,Y5,color="midnightblue", label="p→∞")
    es="{:0<+5}".format(round(Tcode[n],2))
    ex01="p="+es
    plt.plot(X,lpnorm(X,Tcode[n]),color="green", label=ex01)
    #諸元
    plt.ylim([-0.1,1.1])
    plt.xlim([-0.1,1.1])
    plt.xlabel("X")
    plt.ylabel("Y")
    plt.title("p-Norm")
    ax = fig.add_subplot(111)
    ax.set_aspect('equal')
    ax.legend(loc='upper right')
    #plt.show()

ani = animation.FuncAnimation(fig, lpnorm_draw, interval=50,frames=len(Tcode))
ani.save("RV003.gif", writer="pillow")
```

* p=0.1の場合で既に$p=\frac{1}{∞}=0$、p=99の場合で既にp=∞への収束が見て取れる。これをどちらも「**移動距離2**」と捉え、多価関数問題を回避するのが距離関数の流儀なのである。両者を逆数関係にあると置いた場合、p=1「**移動距離$\sqrt{2}$**」がある意味**単位元**の立場に立つが、その背景にはやはり円に内接/外接する正方形の辺長と対角線長を巡る関数$2^{\frac{x}{2}}$の実存が感じられる。
* この場合凸円弧p=2「**移動距離$\frac{π}{2}$**」と凹円弧$\frac{1}{1.782273}(=0.561081276)$「**移動距離$\frac{π}{2}$**」も逆数関係にある事になるが、詳しい解説は得られなかった。
* 全体的に冪関数$y=a^x(-∞\<a\<+∞)$との相似性を感じるが、こちらは凸円弧状態も凹円弧状態も含まず、それを出現させるには虚数$i^2=-1$概念の導入を必要とする (<font color=blue>あえてリンクは張らないが、この辺りの不整合の指摘を出発点とする疑似科学流派も実在する</font>)。

これはある意味**線微分**(Line Integral)そのものといって良い考え方ですね。

[線積分](https://eman-physics.net/math/calculus02.html)

>コース上の幾つかの地点に角張ったところがあっても大丈夫だ.微分は出来ないのだが、そこでコースを分割してやって、別々に計算して、後で足し合わせればいいのである.

もしかして線形代数におけるベクトルの**一時結合結合表現**も、統計学における**離散分布の加重平均から期待値を割り出す方法**もこの考え方に基づいている？ そしてこうした考え方全体の背後にある「**基底**(Base)」概念は、解析学における「**最小領域**(MicroregionあるいはMinimum Domain)」と同値たりえる？

* さらに**面積分**(Surface integral)→**体積分**(Volume integral)と考察次元数を上げていく事によって(直交座標系と極座標系の往復手段として著名な)**ヤコビアン**に到達する。<BR>[面積分と体積分](https://eman-physics.net/math/calculus03.html)<br>[ヤコビアン](https://eman-physics.net/math/calculus04.html)

なんだか面白い展開になってきましたね。そんな感じで以下続報…