【Python演算処理】冪算(Exponentiation/Logarithmicion)と乗除算(Multiplying and Dividing)の関係について。

まずは基本中の基本たる**関数概念**(Function Concept)そのものの定義について振り返っておきましょう。
[関数 (数学) - Wikipedia](https://ja.wikipedia.org/wiki/%E9%96%A2%E6%95%B0_(%E6%95%B0%E5%AD%A6))

>二つの数の集合X,Yがあって、Xの要素xに対してYの要素yがただ一つ定まる時、この対応を**関数**(Function)と呼びy=f(x)などと書き表す(fはfunctionの略だが、複数の関数への言及が不可避となる状況ではそれをy=g(x),y=h(x)などと呼び分ける)。

* この時xを**独立変数**(Independent Variable)、yを**従属変数**(Dependent Variable)と呼ぶ。
* また集合Xを関数fの**定義域**(Domain)、集合Yの部分集合$(y|y=f(x),x \in X)$をこの関数の**値域**(Range)という。

>関数y=fxの変化の様子はxの値を横座標、yの値を縦座標としxを**定義域**内で変化させた時の点P(x,y)の軌跡を描くと一目瞭然となる。これが関数y=f(x)のグラフである。

[【Pyrhon演算処理】同心集合③環概念と指数/対数写像概念の導入](https://qiita.com/ochimusha01/items/f486e83db4d2c3589f77)

①群論でいう**加法実数群**(Additive Real Group)だと、主に**加法単位元**(Additive Identity)0を中心に+∞から-∞の範囲かけての**均等尺**(Even Scale)が**定義域**や**値域**に指定される。
[【Pyrhon演算処理】同心集合②加法的同心集合とは？](https://qiita.com/ochimusha01/items/c3517c1df1459c644ca8)

②同じくその**指数写像**(Exponential Map)たる**乗法実数群**(Multiplicative Real Group)だと、主に**乗法単位元**(Multiplicative Identity)1を中心に0から∞の範囲にかけての**対数尺**(Logarithmic Scale)が**定義域**や**値域**に指定される。
[【Pyrhon演算処理】同心集合①乗法的同心集合とは？](https://qiita.com/ochimusha01/items/9ed0fa5871b3f913306a)

[群同型 Wikipedia](https://ja.wikipedia.org/wiki/%E7%BE%A4%E5%90%8C%E5%9E%8B)
>**加法実数群**$(\mathbb{R},+)$は、**すべての正の実数が乗法についてなす群**$(\mathbb {R}^+,×)$に、**同型写像**$f(x)=e^x(x \in \mathbb{R})$によって同型である：

```math
(\mathbb {R},+) \cong (\mathbb{R}^{+},×)
```

* この定義により**加法実数群**と**乗法実数群**は**群同型**(Group Isomorphism)と見做されるので理論上**実数環**(Real Ring)として統合的に扱う事も可能とされる。<br>[【Python演算処理】環論に立脚した全体像再構築①空環と実数環](https://qiita.com/ochimusha01/items/361c1abe1ea8e2540fb9)

③**極座標系**(Polar Coordinate System)$(r,φ),(r,φ,θ),e^{iθ}=cos(θ)+sin(θ)i$などでは、主に2πラジアンを1周期とする半径rの**角度空間**(Angle Space)が**定義域**や**値域**に指定される。

[群同型 Wikipedia](https://ja.wikipedia.org/wiki/%E7%BE%A4%E5%90%8C%E5%9E%8B)

>**加法整数群**$(\mathbb {Z},+)$は**加法実数群**$(\mathbb{R},+)$の部分群であり、**商群**$\frac{\mathbb{R}}{\mathbb{Z}}$は、**同型写像**$f(x+\mathbb {Z})=e^{2πxi}(x \in \mathbb{R})$(x=0→2π)によって**絶対値1の乗法複素数群**$S^1$に同型である：

```math
\frac{(\mathbb{R},+)}{(\mathbb{Z},+)} \cong S^1
```

* この定義により**角度空間概念**も**実数環**の有する性質の一つとして統合的に扱える様になるが、関数の対象としてはそれがしばしば見せる**多価性**(Multivalued)が問題となる。**複素解析論**（Complex Analysis Theory）において方便として「**分岐截断**(Branch Point Cut)」の概念が導入されたのはこの問題に対応する為であった(<font color=blue>その経緯上、リーマン球面概念同様、群論的には乗法群にのみに関わってくるとも考えられそうである</font>)。<br>[分岐点 (数学) - Wikipedia](https://ja.wikipedia.org/wiki/%E5%88%86%E5%B2%90%E7%82%B9_(%E6%95%B0%E5%AD%A6))

* **群論**では、ここでいう**絶対値1の乗法複素数群**=**1次元球面**(半径1の単位円)に**リー群**$S^1$(1次元トーラス)、**円周群**(Circle Group)$\mathbb{T}$、**特殊直交群**(Special Orthogonal Group)SO(2)、**複素1次ユニタリ群**(Unitary Group)U(1)といった様々な名前を与え、それぞれの発展形を展開する。<br>[リー群 - Wikipedia](https://ja.wikipedia.org/wiki/%E3%83%AA%E3%83%BC%E7%BE%A4)<br>[円周群 - Wikipedia](https://ja.wikipedia.org/wiki/%E5%86%86%E5%91%A8%E7%BE%A4)<br>[直交群 - Wikipedia](https://ja.wikipedia.org/wiki/%E7%9B%B4%E4%BA%A4%E7%BE%A4)<br>[ユニタリ群 - Wikipedia](https://ja.wikipedia.org/wiki/%E3%83%A6%E3%83%8B%E3%82%BF%E3%83%AA%E7%BE%A4)

```math
\mathbb{T}=SO(2)=U(1)=S^1=(z \in \mathbb{T}:|z|=1)
```

* また**実数環**を垂直軸z(高さh)に**加法実数群**、水平軸xy(半径rの極座標系)に**乗法実数群**を配した**円筒座標系**(Cylindrical Coordinate System)としてイメージする場合、そこに配された球表面の**指数写像**の取り方に「(地図投影法におけるメルカトル図法に対応する)**側面射影法**」と「(地図投影法における正距方位図法に対応する)**底面射影法**」の2種類が存在する事に留意しなければならない。前者の写像は「**高さπ、幅2πの矩形**」、後者の写像は「**半径πの円盤**」となり、関数ではこれが**定義域**や**値域**に指定される。<br>[【Python画像処理】メルカトル図法と正距方位図法](https://qiita.com/ochimusha01/items/19fe9f2dcc4d25661a47)<br>![image.gif](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fo%2Fochimusha01%2F20210718%2F20210718180353.gif?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&w=1400&fit=max&s=8c77f090545a30a5c8ff9adb971dd0f2)<br>![image.gif](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fo%2Fochimusha01%2F20210718%2F20210718180257.gif?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&w=1400&fit=max&s=b218698dc2297dc535a53d012e4703f3)<br>![image.gif](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fo%2Fochimusha01%2F20210718%2F20210718180325.gif?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&w=1400&fit=max&s=b2309f01d950c9c2662e4c888a905765)<br>![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%252F20210627%252F20210627120906.gif%3Fixlib%3Drb-4.0.0%26auto%3Dformat%26gif-q%3D60%26q%3D75%26w%3D1400%26fit%3Dmax%26s%3D3db18c12c23e3cf57c152d2ec2830f54?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&w=1400&fit=max&s=56b91cf28f16ecb2ef1ff71fa6f4fcf6)<br>![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%252F20210627%252F20210627120457.gif%3Fixlib%3Drb-4.0.0%26auto%3Dformat%26gif-q%3D60%26q%3D75%26w%3D1400%26fit%3Dmax%26s%3D386637ccdd6bc7155d86b72a2b5cd280?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&w=1400&fit=max&s=0f94fc1ac89f76bc9a19ce76d87cba61)<br>![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%252F20210627%252F20210627120837.gif%3Fixlib%3Drb-4.0.0%26auto%3Dformat%26gif-q%3D60%26q%3D75%26w%3D1400%26fit%3Dmax%26s%3D06b6e9ff818ad8854ca104abdc6f6fe3?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&w=1400&fit=max&s=a92c32909e5cf49570556b10f261450e)

④**統計学**（Statistics）の世界では「**面積の合計が1となる矩形**」を想定し、そのx軸に平均値0を中心に＋∞から-∞の範囲で均等尺を振った**説明変数**(Explanatory Variable)、y軸に指定した範囲の面積計算がそのままその区画の分布確率=p値となる**目的変数**(Response Variable)を配したグラフが良く使われ、それがそのままそれらを扱う関数の**定義域**や**値域**に指定される事が多い。
[【Pyrhon演算処理】確率密度空間と累積分布空間①記述統計との狭間](https://qiita.com/ochimusha01/items/28b68c8783fb3d3a719d)

なるほど、全体像を俯瞰するとこんな感じに繋がってたんですね。

#冪算(<font color=blue>Exponentiation/Logarithmicion</font>)と乗除算(<font color=blue>Multiplying and Dividing</font>)の関係

**冪算**(Exponentiation/Logarithmicion)$y=x^n$および$y=x^{\frac{1}{n}}$と**乗算**(Multiplying)$y=nx$および**除算**(Dividing)$\frac{x}{n}$の関係は以下となっています。

##勾配概念(<font color=blue>Gradient Concept</font>)の導入

[傾き (数学) - Wikipedia](https://ja.wikipedia.org/wiki/%E5%82%BE%E3%81%8D_(%E6%95%B0%E5%AD%A6))

>傾きmは傾斜角θによりm=tan(θ)と定義される。また平面上の直線の傾きは、垂直移動距離Δy($y_2-y_1$)を水平移動距離Δx($x_2-x_1$)で割ったm=Δy/Δxで定義される。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/8cd9ec5e-566d-43be-eb78-ee007b201759.png)
>これらの等式が示す様に鉛直線（y軸に平行な直線）の傾きは、零除算となり、定義されない。

* $y=\lim_{n \to ∞}\frac{±x}{n^n}=0$の場合…一次関数(Linear Function)y=±axの**勾配**(Gradient)aが1から0にかけて推移するイメージ。

![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20210725/20210725061907.gif)
①n=1の時、奇関数y=±xとなる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/dc2b30bd-f4a1-8f9c-2447-5f8668d691e4.png)
②これがnの増大につれ偶関数y=0に限りなく近付いていく。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/ae39d95d-f6b7-7524-4d16-b9c04c854b68.png)

```python
import numpy as np
import cmath as c
import matplotlib.pyplot as plt
import matplotlib.animation as animation

#figure()でグラフを表示する領域をつくり，figというオブジェクトにする．
plt.style.use('default')
fig = plt.figure()
ax = fig.add_subplot(111,aspect='equal')

#放物線x
x=np.linspace(-5,5,31,endpoint = True)

#描画関数
def liner01(n): 
    plt.cla()
    #関数計算
    yp= x/Time_Code[n]**Time_Code[n]
    ym= -x/Time_Code[n]**Time_Code[n]
    #描画
    plt.plot(x,yp,color="red",marker="o",lw=1,label="(-x/n^n")
    plt.plot(x,ym,color="blue",marker="o",lw=1,label="(+x/n^n")
    plt.axvline(0, 0, 1,color="black",lw=0.5)
    plt.axhline(0, 0, 1,color="black",lw=0.5)
    plt.xlim([-6,6])
    plt.ylim([-6,6])
    plt.xlabel("x")
    plt.ylabel("y")
    plt.title("y=±x/n^n")
    ax.legend(loc='lower right')

#Time_Code=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]
Time_Code=np.linspace(1,16,32,endpoint = True)

#liner01(0)
#plt.show()

ani = animation.FuncAnimation(fig, liner01, interval=50,frames=len(Time_Code))
ani.save("lin001.gif", writer="pillow")
```
* $y=\lim_{n \to ∞}±x*n^n=∞$の場合…一次関数(Linear Function)y=±axの**勾配**(Gradient)aが1から∞にかけて推移するイメージ。

![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20210725/20210725121503.gif)
①n=1の時はやはり奇関数y=±xとなる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/6c54ca7e-3bb5-f694-8e60-31e5613d74ba.png)
②これがnの増大につれ偶関数x=0に限りなく近付いていくイメージ。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/db7215c4-7a1b-4ced-ab99-5282b5d34931.png)

```python
import numpy as np
import cmath as c
import matplotlib.pyplot as plt
import matplotlib.animation as animation

#figure()でグラフを表示する領域をつくり，figというオブジェクトにする．
plt.style.use('default')
fig = plt.figure()
ax = fig.add_subplot(111,aspect='equal')

#放物線x
x=np.linspace(-5,5,31,endpoint = True)

#描画関数
def liner01(n): 
    plt.cla()
    #関数計算
    yp= x*Time_Code[n]**Time_Code[n]
    ym= -x*Time_Code[n]**Time_Code[n]
    #描画
    plt.plot(x,yp,color="red",marker="o",lw=1,label="(-x*n^n")
    plt.plot(x,ym,color="blue",marker="o",lw=1,label="(+x*n^n")
    plt.axvline(0, 0, 1,color="black",lw=0.5)
    plt.axhline(0, 0, 1,color="black",lw=0.5)
    plt.xlim([-6,6])
    plt.ylim([-6,6])
    plt.xlabel("x")
    plt.ylabel("y")
    plt.title("y=±x*n^n")
    ax.legend(loc='lower right')

#Time_Code=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]
Time_Code=np.linspace(1,16,32,endpoint = True)

#liner01(0)
#plt.show()

ani = animation.FuncAnimation(fig, liner01, interval=50,frames=len(Time_Code))
ani.save("lin501.gif", writer="pillow")
```
ここには2種類の**関数**(Function)の**射映**(Projection)が重なって現れてきます。

###乗除算(<font color=blue>Multiplying and Dividing</font>)の射映
**デカルト座標系**(Cartesian Coordinate System)(x,y)上に描かれる同心円は、上掲の**勾配概念**(Gradient Concept)の制約故にそれぞれ対角線上に位置する(第一象限,第三象限)上と(第二象限,第四象限)上の展開が切り離されている。
<table border="1" class="dataframe">  <thead>    <tr style="text-align: right;">      <th></th>      <th>関数y=f(x)</th>      <th>任意の定義域xに対する値域y</th>    </tr>  </thead>  <tbody>    <tr>      <th>0</th>      <td>y=±x/±∞</td>      <td>0</td>    </tr>    <tr>      <th>1</th>      <td>y=±x</td>      <td>座標(x,y)=(1,1)(-1,-1),(-1,1)(1,-1),</td>    </tr>    <tr>      <th>2</th>      <td>y=x*±∞</td>      <td>座標(x,y)=(∞,∞)(-∞,-∞),(-∞,∞)(∞,-∞)</td>    </tr>  </tbody></table>

```python
import numpy as np
import sympy as sp
import pandas as pd
X1 = np.matrix([
    ["y=±x/±∞","y=±x","y=x*±∞"],
    ["0","座標(x,y)=(1,1)(-1,-1),(-1,1)(1,-1),","座標(x,y)=(∞,∞)(-∞,-∞),(-∞,∞)(∞,-∞)"]])
x=X1.transpose()
df=pd.DataFrame(x,columns=['関数y=f(x)', '任意の定義域xに対する値域y'])
sp.init_printing()
org=df.to_html()
print(org.replace('\n', ''))
```
この辺りの四象限との関係は、おそらく**線形代数**(Linear Algebra)における**行列演算**(Matrix Aperation)の概念と関係してくるのです。
[【Python演算処理】行列演算の基本④大源流における記述統計学との密接な関連性?](https://qiita.com/ochimusha01/items/d36169ad13872a34ebc6)

```math
\left[\begin{matrix}a & b\end{matrix}\right]\left[\begin{matrix}1 & 1\\1 & 1\end{matrix}\right]\left[\begin{matrix}a\\b\end{matrix}\right]=\left[\begin{matrix}\left(a + b\right)^{2}\end{matrix}\right]\\
\left[\begin{matrix}a & b\end{matrix}\right]\left[\begin{matrix}1 & 0\\0 & 0\end{matrix}\right]\left[\begin{matrix}a\\b\end{matrix}\right]=\left[\begin{matrix}a^{2}\end{matrix}\right]\\
\left[\begin{matrix}a & b\end{matrix}\right]\left[\begin{matrix}0 & 1\\0 & 0\end{matrix}\right]\left[\begin{matrix}a\\b\end{matrix}\right]=\left[\begin{matrix}a b\end{matrix}\right]\\
\left[\begin{matrix}a & b\end{matrix}\right]\left[\begin{matrix}0 & 0\\1 & 0\end{matrix}\right]\left[\begin{matrix}a\\b\end{matrix}\right]=\left[\begin{matrix}a b\end{matrix}\right]\\
\left[\begin{matrix}a & b\end{matrix}\right]\left[\begin{matrix}0 & 0\\0 & 1\end{matrix}\right]\left[\begin{matrix}a\\b\end{matrix}\right]=\left[\begin{matrix}b^{2}\end{matrix}\right]
```

###冪算(<font color=blue>Exponentiation/Logarithmicion</font>)の射映
**極座標系**(Polar Coordinate System)(r,θ)上に同心円を描く。
<table border="1" class="dataframe">  <thead>    <tr style="text-align: right;">      <th></th>      <th>関数y=f(x)</th>      <th>任意の定義域±xに対する値域y</th>    </tr>  </thead>  <tbody>    <tr>      <th>0</th>      <td>y=x^-∞=x/∞</td>      <td>0</td>    </tr>    <tr>      <th>1</th>      <td>y=x^0</td>      <td>1</td>    </tr>    <tr>      <th>2</th>      <td>y=x^∞</td>      <td>∞</td>    </tr>  </tbody></table>

```python
import numpy as np
import sympy as sp
import pandas as pd
X1 = np.matrix([
    ["y=x^-∞=x/∞","y=x^0","y=x^∞"],
    ["0","1","∞"]])
x=X1.transpose()
df=pd.DataFrame(x,columns=['関数y=f(x)', '任意の定義域±xに対する値域y'])
sp.init_printing()
org=df.to_html()
print(org.replace('\n', ''))
```
冒頭の定義に従うなら**乗法実数群**そのものに対応。

##指数関数(<font color=blue>Exponential Function</font>)と対数関数(<font color=blue>Logarithmic Function</font>)概念の導入

不思議にも以下の計算がpythonの冪乗算＊＊では実現出来ないのです。
[np.arrayの累乗でRuntime warningが発生する](https://ja.stackoverflow.com/questions/65922/np-array%E3%81%AE%E7%B4%AF%E4%B9%97%E3%81%A7runtime-warning%E3%81%8C%E7%99%BA%E7%94%9F%E3%81%99%E3%82%8B)
それでここでは**複素数演算**$xi^n$の実数部だけ取り出す形で計算しています。
[【Rで球面幾何学】そもそも複素数Xi（x*(0+1i)）はどう振る舞う？](https://qiita.com/ochimusha01/items/3130ceb4a3500bfeb9d6)

*  $y=\lim_{n \to ∞}\frac{x^n}{n}$あるいは$x=\lim_{n \to ∞}\frac{y^n}{n}$の場合…前者が**指数関数**(Exponential Function)$y=x^n$、後者が**対数関数**(Logarithmic Function)$x=y^n(\log_{x}(n))$に対応します。

```math
y=\lim_{n \to ∞}\frac{x^n}{n} = \left\{
\begin{array}{ll}
0 & (-1 \leqq x \leqq 1)  \\
∞ & (x>1)  \\
±∞ & (x<-1)
\end{array}
\right.\\
x=\lim_{n \to ∞}\frac{y^n}{n} = \left\{
\begin{array}{ll}
0 & (-1 \leqq y \leqq 1)  \\
∞ & (y>1)\\
±∞ & (y<-1)\\
\end{array}
\right.\\
```
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20210725/20210725080120.gif)
①n=1の時、y=xとx=yが重なる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/0a0d953c-0c7a-d84e-a55d-c76ec18f9a8c.png)
②n=2の時、偶関数系の$y=\frac{x^2}{2}$ないしは$x=\frac{y^2}{2}$となり、両者は座標(x,y)=(2,2)で交わる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/3aee8533-6ed7-7493-bb00-44b9ca94b891.png)
③n=3の時、奇関数系の$y=\frac{x^3}{3}$ないしは$x=\frac{y^3}{3}$となり、この調子で両者の交点は座標(x,y)=(1,1)(-1,-1)に近づき続ける。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/fe469b9c-ff68-cc0a-2d6a-7cc0ef146a09.png)

```python
import numpy as np
import cmath as c
import matplotlib.pyplot as plt
import matplotlib.animation as animation

#figure()でグラフを表示する領域をつくり，figというオブジェクトにする．
plt.style.use('default')
fig = plt.figure()
ax = fig.add_subplot(111,aspect='equal')

#複素数
x=np.linspace(-5,5,31,endpoint = True)

#描画関数
def liner01(n): 
    plt.cla()
    #関数計算
    #c1=(-x*(1+0j))**Time_Code[n]/Time_Code[n]
    #y1=c1.real
    c2=((x*(1+0j))**Time_Code[n])/Time_Code[n]
    y2=c2.real
    #yp= np.power(x, Time_Code[n])/Time_Code[n]
    #ym=np.power(-x, Time_Code[n])/Time_Code[n]
    #yp= (np.power(abs(x), Time_Code[n]) * np.sign(x))/Time_Code[n]
    #ym= (np.power(abs(-x), Time_Code[n]) * np.sign(-x))/Time_Code[n]
    #ym= -x**Time_Code[n]/Time_Code[n]
    #描画
    plt.plot(y2,x,color="red",marker="o",lw=1,label="x=y^n/n")
    plt.plot(x,y2,color="blue",marker="o",lw=1,label="y=x^n/n")
    #plt.plot(-x,ym,color="red",marker="o",lw=1)
    #plt.plot(x,yp,color="blue",marker="o",lw=1,label="x^n/n")
    #plt.plot(-x,yp,color="blue",marker="o",lw=1)
    plt.axvline(0, 0, 1,color="black",lw=0.5)
    plt.axhline(0, 0, 1,color="black",lw=0.5)
    plt.xlim([-6,6])
    plt.ylim([-6,6])
    plt.xlabel("x")
    plt.ylabel("y")
    plt.title("y=x^n/n & x=y^n/n ")
    ax.legend(loc='lower right')

#Time_Code=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]
Time_Code=np.linspace(1,16,32,endpoint = True)

#liner01(0)
#plt.show()

ani = animation.FuncAnimation(fig, liner01, interval=50,frames=len(Time_Code))
ani.save("lin006.gif", writer="pillow")
```
この0と±∞の峻別は$y=\lim_{n \to ∞}\frac{±x^n}{n}$の形で眺めても興味深いです。

```math
y=\lim_{n \to ∞}\frac{x^n}{n} = \left\{
\begin{array}{ll}
0 & (-1 \leqq x \leqq 1)  \\
∞ & (x>1)  \\
±∞ & (x<-1)
\end{array}
\right.\\
y=\lim_{n \to ∞}\frac{-x^n}{n} = \left\{
\begin{array}{ll}
0 & (-1 \leqq y \leqq 1)  \\
∞ & (x<-1)\\
\mp ∞ & (x>1)\\
\end{array}
\right.\\
```
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20210725/20210725131047.gif)
①n=1の時、y=±xとなる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/537df575-d4a8-2a88-56b4-20539886da84.png)
②n=2の時、偶関数系の$y=\frac{±x^2}{2}$が重なる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/2146c3d4-ad6e-a6d2-3051-1f11652b23b9.png)
③n=3の時、奇関数系の$y=\frac{±x^3}{3}$となり、この繰り返しで両者がそれぞれ上掲の極限に到達する。
![image.png](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20210725/20210725144357.png)

```python
import numpy as np
import cmath as c
import matplotlib.pyplot as plt
import matplotlib.animation as animation

#figure()でグラフを表示する領域をつくり，figというオブジェクトにする．
plt.style.use('default')
fig = plt.figure()
ax = fig.add_subplot(111,aspect='equal')

#複素数
x=np.linspace(-5,5,31,endpoint = True)

#描画関数
def liner01(n): 
    plt.cla()
    #関数計算
    #c1=(-x*(1+0j))**Time_Code[n]/Time_Code[n]
    #y1=c1.real
    c2=((x*(1+0j))**Time_Code[n])/Time_Code[n]
    y2=c2.real
    #yp= np.power(x, Time_Code[n])/Time_Code[n]
    #ym=np.power(-x, Time_Code[n])/Time_Code[n]
    #yp= (np.power(abs(x), Time_Code[n]) * np.sign(x))/Time_Code[n]
    #ym= (np.power(abs(-x), Time_Code[n]) * np.sign(-x))/Time_Code[n]
    #ym= -x**Time_Code[n]/Time_Code[n]
    #描画
    plt.plot(-x,y2,color="red",marker="o",lw=1,label="y=-x^n/n")
    plt.plot(x,y2,color="blue",marker="o",lw=1,label="y=x^n/n")
    #plt.plot(-x,ym,color="red",marker="o",lw=1)
    #plt.plot(x,yp,color="blue",marker="o",lw=1,label="x^n/n")
    #plt.plot(-x,yp,color="blue",marker="o",lw=1)
    plt.axvline(0, 0, 1,color="black",lw=0.5)
    plt.axhline(0, 0, 1,color="black",lw=0.5)
    plt.xlim([-6,6])
    plt.ylim([-6,6])
    plt.xlabel("x")
    plt.ylabel("y")
    plt.title("y=±x^n/n")
    ax.legend(loc='lower right')

#Time_Code=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]
Time_Code=np.linspace(1,16,32,endpoint = True)

#liner01(0)
#plt.show()

ani = animation.FuncAnimation(fig, liner01, interval=50,frames=len(Time_Code))
ani.save("lin601.gif", writer="pillow")
```

*  $y=\lim_{n \to ∞}(\frac{x}{n})^n=0$あるいは$x=\lim_{n \to ∞}(\frac{y}{n})^n=0$の場合…そう、前者はy=0、後者はx=0に向けて収束するのです。

![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20210725/20210725092819.gif)
①n=1の時、y=xとx=yが重なる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/36b7640b-936b-d1c3-d9eb-2c39658964b5.png)
②n=2の時、偶関数系の$y=(\frac{x}{2})^2$ないしは$x=(\frac{y}{2})^2$となり、両者は座標(x,y)=(4,4)で交わる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/8174b47b-8c11-78dc-f77c-b6a330f81a58.png)
③n=3の時、奇関数系の$y=(\frac{x}{3}$)^3ないしは$x=(\frac{y}{3}^3)$となる。この調子で両者の交差座標(x,y)はどんどん無限遠点にに近づき続け、かつその値は原点から0へと近付き続ける。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/7cfd4f25-edd5-6369-ec71-179662805952.png)

```python
import numpy as np
import cmath as c
import matplotlib.pyplot as plt
import matplotlib.animation as animation

#figure()でグラフを表示する領域をつくり，figというオブジェクトにする．
plt.style.use('default')
fig = plt.figure()
ax = fig.add_subplot(111,aspect='equal')

#複素数
x=np.linspace(-5,5,31,endpoint = True)

#描画関数
def liner01(n): 
    plt.cla()
    #関数計算
    #c1=(-x*(1+0j))**Time_Code[n]/Time_Code[n]
    #y1=c1.real
    c2=((x*(1+0j))/Time_Code[n])**Time_Code[n]
    y2=c2.real
    #yp= np.power(x, Time_Code[n])/Time_Code[n]
    #ym=np.power(-x, Time_Code[n])/Time_Code[n]
    #yp= (np.power(abs(x), Time_Code[n]) * np.sign(x))/Time_Code[n]
    #ym= (np.power(abs(-x), Time_Code[n]) * np.sign(-x))/Time_Code[n]
    #ym= -x**Time_Code[n]/Time_Code[n]
    #描画
    plt.plot(y2,x,color="red",marker="o",lw=1,label="x=(y/n)^n")
    plt.plot(x,y2,color="blue",marker="o",lw=1,label="y=(x/n)^n")
    #plt.plot(-x,ym,color="red",marker="o",lw=1)
    #plt.plot(x,yp,color="blue",marker="o",lw=1,label="x^n/n")
    #plt.plot(-x,yp,color="blue",marker="o",lw=1)
    plt.axvline(0, 0, 1,color="black",lw=0.5)
    plt.axhline(0, 0, 1,color="black",lw=0.5)
    plt.xlim([-6,6])
    plt.ylim([-6,6])
    plt.xlabel("x")
    plt.ylabel("y")
    plt.title("y=(x/n)^n & x=(y/n)^n ")
    ax.legend(loc='lower right')

#Time_Code=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]
Time_Code=np.linspace(1,16,32,endpoint = True)

#liner01(4)
#plt.show()

ani = animation.FuncAnimation(fig, liner01, interval=50,frames=len(Time_Code))
ani.save("lin102.gif", writer="pillow")
```
この様な形で原点に接近する様子は$y=\lim_{n \to ∞}(\frac{±x}{n})^n$の形で眺めても興味深いです。

![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20210725/20210725103042.gif)
①n=1の時はy=±xとなる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/c11d11a2-930c-a5a1-32ef-1980c04b31cd.png)
②n=2の時は偶関数$y=(\frac{±x}{2})^2$となりぴったりと重なり合う。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/16869eaf-1471-f940-1fc6-79fd6a538310.png)
③n=3の時は奇関数$y=(\frac{±x}{3})^3$となり、この繰り返しでその値が原点から0に合流し続けていく。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/be925242-e1ef-a7b4-32ea-cd866c7a96ac.png)

```python
import numpy as np
import cmath as c
import matplotlib.pyplot as plt
import matplotlib.animation as animation

#figure()でグラフを表示する領域をつくり，figというオブジェクトにする．
plt.style.use('default')
fig = plt.figure()
ax = fig.add_subplot(111,aspect='equal')

#複素数
x=np.linspace(-5,5,31,endpoint = True)

#描画関数
def liner01(n): 
    plt.cla()
    #関数計算
    #c1=(-x*(1+0j))**Time_Code[n]/Time_Code[n]
    #y1=c1.real
    c2=((x*(1+0j))/Time_Code[n])**Time_Code[n]
    y2=c2.real
    #yp= np.power(x, Time_Code[n])/Time_Code[n]
    #ym=np.power(-x, Time_Code[n])/Time_Code[n]
    #yp= (np.power(abs(x), Time_Code[n]) * np.sign(x))/Time_Code[n]
    #ym= (np.power(abs(-x), Time_Code[n]) * np.sign(-x))/Time_Code[n]
    #ym= -x**Time_Code[n]/Time_Code[n]
    #描画
    plt.plot(-x,y2,color="red",marker="o",lw=1,label="y=(-x/n)^n")
    plt.plot(x,y2,color="blue",marker="o",lw=1,label="y=(x/n)^n")
    #plt.plot(-x,ym,color="red",marker="o",lw=1)
    #plt.plot(x,yp,color="blue",marker="o",lw=1,label="x^n/n")
    #plt.plot(-x,yp,color="blue",marker="o",lw=1)
    plt.axvline(0, 0, 1,color="black",lw=0.5)
    plt.axhline(0, 0, 1,color="black",lw=0.5)
    plt.xlim([-6,6])
    plt.ylim([-6,6])
    plt.xlabel("x")
    plt.ylabel("y")
    plt.title("y=(±x/n)^n")
    ax.legend(loc='lower right')

#Time_Code=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]
Time_Code=np.linspace(1,16,32,endpoint = True)

#liner01(4)
#plt.show()

ani = animation.FuncAnimation(fig, liner01, interval=50,frames=len(Time_Code))
ani.save("lin203.gif", writer="pillow")
```
##自然指数関数(<font color=blue>Natural Exponential Function</font>)と自然対数関数(<font color=blue>Natural Logarithm Function</font>)の導入

ここまで辿り着けたなら、ネイピア数exp(1)(2.718282)を求める式$y=\lim_{n \to ∞}(1+\frac{x}{n})^n$やネイピア数exp(-1)(0.3678794)を求める式$y=\lim_{n \to ∞}(1-\frac{x}{n})^n$は目前です。
[【Pyrhon演算処理】同心集合①乗法的同心集合とは？](https://qiita.com/mmmmm1202/items/5178b04fc8f9baa204f5)

>全ての**指数関数**(Exponential Function)$a^n$は$a^n=e^{n\log{a}}$の変換式を用いて**自然指数関数**(Natural Exponential Function)$e^n$へと変換可能です

その結果こに現れる曲線は**自然指数関数**(Natural Exponential Function)そのもの。それぞれx=1のところに現れるのがexp(1)およびexp(-1)となり、両者を掛け合わせると乗法単位元exp(0)=1となります。

![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20210725/20210725110302.gif)
①n=1の時には1次方程式y=1±xが現れる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/7d4929ee-b17d-6474-b8b4-c1d935e89535.png)
②n=2の時は2次方程式$y=(1+\frac{x}{2})^2$が現れる。まだまだ放物線にしか見えない。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/ce661778-0db1-1cf4-1da7-0b927b2ed67e.png)
③n=3の時は3次方程式$y=(1+\frac{x}{3})^3$が現れる。おや、様子が…
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/75782d81-752d-a77b-bedc-4b70a8aee630.png)
④n=4の時は4次方程式$y=(1+\frac{x}{4})^4$が現れる。随分とそれっぽく見えてきた。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/d81dfe03-6dbb-9960-4224-b4617be0faf9.png)

```python
import numpy as np
import cmath as c
import matplotlib.pyplot as plt
import matplotlib.animation as animation

#figure()でグラフを表示する領域をつくり，figというオブジェクトにする．
plt.style.use('default')
fig = plt.figure()
ax = fig.add_subplot(111,aspect='equal')

#複素数
x=np.linspace(-5,5,31,endpoint = True)

#描画関数
def liner01(n): 
    plt.cla()
    #関数計算
    c1=(1-(x*(1+0j))/Time_Code[n])**Time_Code[n]
    y1=c1.real
    c2=(1+(x*(1+0j))/Time_Code[n])**Time_Code[n]
    y2=c2.real
    #yp= np.power(x, Time_Code[n])/Time_Code[n]
    #ym=np.power(-x, Time_Code[n])/Time_Code[n]
    #yp= (np.power(abs(x), Time_Code[n]) * np.sign(x))/Time_Code[n]
    #ym= (np.power(abs(-x), Time_Code[n]) * np.sign(-x))/Time_Code[n]
    #ym= -x**Time_Code[n]/Time_Code[n]
    #描画
    plt.plot(x,y1,color="red",marker="o",lw=1,label="y=(1-x/n)^n")
    plt.plot(x,y2,color="blue",marker="o",lw=1,label="y=(1+x/n)^n")
    #plt.plot(-x,ym,color="red",marker="o",lw=1)
    #plt.plot(x,yp,color="blue",marker="o",lw=1,label="x^n/n")
    #plt.plot(-x,yp,color="blue",marker="o",lw=1)
    plt.axvline(0, 0, 1,color="black",lw=0.5)
    plt.axhline(0, 0, 1,color="black",lw=0.5)
    plt.xlim([-6,6])
    plt.ylim([-6,6])
    plt.xlabel("x")
    plt.ylabel("y")
    plt.title("y=(1±x/n)^n")
    ax.legend(loc='lower right')

#Time_Code=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]
Time_Code=np.linspace(1,16,32,endpoint = True)

#liner01(0)
#plt.show()

ani = animation.FuncAnimation(fig, liner01, interval=50,frames=len(Time_Code))
ani.save("lin302.gif", writer="pillow")
```

そして**指数関数**$y=\lim_{n \to ∞}(1+\frac{x}{n})^n$に対して$x=\lim_{n \to ∞}(1+\frac{y}{n})^n$を考えた場合が**対数関数**となります。

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

```python
import numpy as np
import cmath as c
import matplotlib.pyplot as plt
import matplotlib.animation as animation

#figure()でグラフを表示する領域をつくり，figというオブジェクトにする．
plt.style.use('default')
fig = plt.figure()
ax = fig.add_subplot(111,aspect='equal')

#複素数
x=np.linspace(-5,5,31,endpoint = True)

#描画関数
def liner01(n): 
    plt.cla()
    #関数計算
    c1=(1-(x*(1+0j))/Time_Code[n])**Time_Code[n]
    y1=c1.real
    c2=(1+(x*(1+0j))/Time_Code[n])**Time_Code[n]
    y2=c2.real
    #yp= np.power(x, Time_Code[n])/Time_Code[n]
    #ym=np.power(-x, Time_Code[n])/Time_Code[n]
    #yp= (np.power(abs(x), Time_Code[n]) * np.sign(x))/Time_Code[n]
    #ym= (np.power(abs(-x), Time_Code[n]) * np.sign(-x))/Time_Code[n]
    #ym= -x**Time_Code[n]/Time_Code[n]
    #描画
    plt.plot(x,y2,color="red",marker="o",lw=1,label="y=(1+x/n)^n")
    plt.plot(y2,x,color="blue",marker="o",lw=1,label="x=(1+y/n)^n")
    #plt.plot(-x,ym,color="red",marker="o",lw=1)
    #plt.plot(x,yp,color="blue",marker="o",lw=1,label="x^n/n")
    #plt.plot(-x,yp,color="blue",marker="o",lw=1)
    plt.axvline(0, 0, 1,color="black",lw=0.5)
    plt.axhline(0, 0, 1,color="black",lw=0.5)
    plt.xlim([-6,6])
    plt.ylim([-6,6])
    plt.xlabel("x")
    plt.ylabel("y")
    plt.title("y=(1+x/n)^n & x=(1+y/n)^n ")
    ax.legend(loc='lower right')

#Time_Code=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]
Time_Code=np.linspace(1,16,32,endpoint = True)

#liner01(0)
#plt.show()

ani = animation.FuncAnimation(fig, liner01, interval=50,frames=len(Time_Code))
ani.save("lin401.gif", writer="pillow")
```
[【初心者向け】指数・対数関数の発見とそれ以降の発展について。](https://qiita.com/ochimusha01/items/3e28f4f06abd8cef0af1)
![imge.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F597772%2F216d94f6-b445-ae38-64d8-bd6f8db5a2c9.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&w=1400&fit=max&s=ca3acfaa779fa75fe0550daf03cdcf57)

<table border="1" class="dataframe">  <thead>    <tr style="text-align: right;">      <th></th>      <th>自然指数関数</th>      <th>自然対数関数</th>    </tr>  </thead>  <tbody>    <tr>      <th>0</th>      <td>y=exp(x)</td>      <td>y=log(x)</td>    </tr>    <tr>      <th>1</th>      <td>y=exp(-x)</td>      <td>y=log(-x)</td>    </tr>    <tr>      <th>2</th>      <td>y=-exp(x)</td>      <td>y=-log(x)</td>    </tr>    <tr>      <th>3</th>      <td>y=-exp(-x)</td>      <td>y=-log(-x)</td>    </tr>  </tbody></table>

```python
import numpy as np
import sympy as sp
import pandas as pd
X1 = np.matrix([
    ["y=exp(x)","y=exp(-x)","y=-exp(x)","y=-exp(-x)"],
    ["y=log(x)","y=log(-x)","y=-log(x)","y=-log(-x)"]])
x=X1.transpose()
df=pd.DataFrame(x,columns=['自然指数関数', '自然対数関数'])
sp.init_printing()
org=df.to_html()
print(org.replace('\n', ''))
```
[【初心者向け】自然指数関数と自然対数関数の交点について。](https://qiita.com/ochimusha01/items/77b41156340b6f694373)

#実数冪(<font color=blue>Real Exponentiation</font>)と虚数冪(<font color=blue>Imaginal Exponentiation</font>)の使い分け?

ここで急浮上してくるのが**自然指数関数**/**自然対数関数**には「**実冪系**」か「**虚冪系**」によって振る舞いがかなり変わってくるという問題。

##虚数冪(<font color=blue>Imaginal Exponentiation</font>)の世界

なんだかんだいって**オイラーの公式**(Eulerian Formula)$e^{iθ}=cos(θ)+sin(θ)i$が著名なせいで、こちらの方が断然代表格と認識されているのです。それで三角関数とセットで用いられる「**回転関数**」というイメージがすっかり定着してしまいました。

[【Python演算】オイラーの公式と等比数列④「中学生には難しいが高校生なら気付くレベル」？](https://qiita.com/ochimusha01/items/10f0276f9850bea6c993)

>**三角関数**の微分（<font color=blue>それぞれが+90度の変遷に対応</font>）

```math
\cos(θ)\frac{d^n}{dθ^n}=(-\sin(θ),-\cos(θ),\sin(θ),\cos(θ),…)\\
\sin(θ)\frac{d^n}{dθ^n}=(\cos(θ),-\sin(θ),-\cos(θ),\sin(θ),…)
```

>**三角関数**の積分（<font color=blue>それぞれが-90度の変遷に対応</font>）

```math
\int \int \int … \int \cos(θ)(dθ)=(\sin(θ),-\cos(θ),-\sin(θ),\cos(θ),…)\\
\int \int \int … \int \sin(θ)(dθ)=(-\cos(θ),-\sin(θ),\cos(θ),\sin(θ),…)
```

[【Python演算処理】等速円運動についての物理学と数学の立場の違い?](https://qiita.com/ochimusha01/items/d5526764c7d1199671df)
![image.gif](https://camo.qiitausercontent.com/fa349dd64b85d0da84f63ee475e79148eb983e70/68747470733a2f2f73746167696e672d71696974612d757365722d636f6e74656e74732e696d6769782e6e65742f687474707325334125324625324671696974612d757365722d636f6e74656e74732e696d6769782e6e6574253246687474707325323533412532353246253235324671696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2532353246302532353246353937373732253235324631616332643937622d323937382d346230362d623131382d3930363732613536663538392e67696625334669786c696225334472622d312e322e322532366175746f253344666f726d61742532366769662d71253344363025323671253344373525323677253344313430302532366669742533446d61782532367325334430663266393364333236343937366634393336343733393831346436336537383f69786c69623d72622d342e302e30266175746f3d666f726d6174266769662d713d363026713d373526773d31343030266669743d6d617826733d3834616130626365363061653733623835616234313639343162323261653264)

* $\cos(θ)=\frac{e^{θi}+e^{-θi}}{2}$
* $\sin(θ)=\frac{e^{θi}-e^{-θi}}{2i}$

![image.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fo%2Fochimusha01%2F20210504%2F20210504162020.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&w=1400&fit=max&s=a6955a0a4d3736fc57aed6753517f458)
![image.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fo%2Fochimusha01%2F20210504%2F20210504162153.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&w=1400&fit=max&s=2335f454fb0ffe93e583434dcb9060e4)

* $e^{ix}\frac{d^n}{dθ^n}=(i e^{i x}(-\log ix),-e^{ix},-i e^{i x}(\log ix),e^{ix},…)$
* $\int \int \int … \int e^{ix}(dθ)=(- i e^{i x}(\log ix),- e^{i x},i e^{i x}(-\log ix),e^{ix},…)$

まぁこの全部が**虚冪**の説明という有様…

##実数冪(<font color=blue>Real Exponentiation</font>)の世界

**統計学**(Statistics)の分野では「**平均0を中心に-∞から+∞の範囲に広がる総面積1の分布**」、**機械学習**(Machine Learning)分野では神経エミュレーションの中核たる「**0と1の間を滑らかにつなぐ曲線**」を生成するのに使われていたりします。人類文明への貢献度、決して低くはないですよね？

###正規分布(<font color=blue>Normal Distribution</font>)
[【初心者向け】正規分布(Normal Distribution)とは何か？](https://qiita.com/ochimusha01/items/fe73ddf6e3e8cb08fbee)

```math
{\displaystyle f(x)={\frac {1}{\sqrt {2\pi \sigma ^{2}}}}\exp \!\left(-{\frac {(x-\mu )^{2}}{2\sigma ^{2}}}\right)\quad (x\in \mathbb {R} )}
```
ここではその中枢部たる$e^{-x^2}$の部分の再現のみに集中するものとします。

```math
\lim_{n \to ∞} \int_{x=-∞}^{+∞} ±(1 \pm \frac{-x^2}{n})^n
```
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20210703/20210703143302.gif)
①N=1の時$y=±(1-x^2)。正負のグラフの交点は**自明の場合**(Trival Case)として(1,0)(-1,0)となる。<br>![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/2e12137a-1e23-1e1d-8515-408c4882f9ba.png)
②N=2の時$±(1-\frac{x^2}{2})^2$<br>![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/12fdb4cb-4273-9d1d-8893-110164a993b1.png)
④N=3の時$±(1-\frac{x^2}{3})^3$<br>![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/dbfd0474-037b-3a55-0ba9-15d1c9393200.png)
⑤以降はこの繰り返しで裾野が-∞および+∞に向けてひたすら拡張し続ける。

```python
import numpy as np
import cmath as c
import matplotlib.pyplot as plt
import matplotlib.animation as animation

#figure()でグラフを表示する領域をつくり，figというオブジェクトにする．
plt.style.use('default')
fig = plt.figure()
ax = fig.add_subplot(111,aspect='equal')

#放物線x
x=np.linspace(-5,5,31,endpoint = True)

#描画関数
def parabola01(n): 
    plt.cla()
    #関数計算
    y= (1+(-x**2)/Time_Code[n])**Time_Code[n]
    #描画
    plt.plot(x,-y,color="red",marker="o",lw=1,label="-(1-x^2/n)^n")
    plt.plot(x,y,color="blue",marker="o",lw=1,label="+(1-x^2/n)^n")
    plt.axvline(0, 0, 1,color="black",lw=0.5)
    plt.axhline(0, 0, 1,color="black",lw=0.5)
    plt.xlim([-5,5])
    plt.ylim([-5,5])
    plt.xlabel("x")
    plt.ylabel("y")
    plt.title("Parabola")
    ax.legend(loc='lower right')
    
Time_Code=[1,2,3,4,5,6,7,8,9,10,11,12,13,14]

#parabola01(0)
#plt.show()

ani = animation.FuncAnimation(fig, parabola01, interval=100,frames=len(Time_Code))
ani.save("parabola06.gif", writer="pillow")
```

###シグモイド関数（<font color=blue>Sigmoid Function</font>）
[シグモイド関数 - 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)

```math
{\displaystyle \varsigma _{a}(x)={\frac {1}{1+e^{-ax}}}={\frac {\tanh(ax/2)+1}{2}}}
```
ここでは簡略化の為に狭義のシグモイド関数、すなわちゲインを1とした**標準シグモイド関数**(Standard Sigmoid Function)の再現のみに集中するものとします。

```math
\lim_{n \to ∞} \int_{x=-∞}^{+∞} \frac{1}{1+(1 \pm \frac{-x}{n})^n}
```
計算上x=-5→5と置いてみます。

```math
\lim_{n=1 \to 16} \int_{x=-5}^{+5} \frac{1}{1+(1 \pm \frac{-x}{n})^n}
```
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20210726/20210726130329.gif)
①n=1の時、1次関数$\int_{x=-5}^{+5} \frac{1}{2 \mp x}$。これは反比例関数y=1/xをX軸沿いに+2ズラした内容に他なりません。そう、この式自体は$e^0=1$の時に原点の値が丁度$\frac{1}{2}$を通る様に調整されているのです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/25838f39-c1a4-e1cb-f168-9e27bf624ec0.png)
②n=2の時、2次関数$\int_{x=-5}^{+5} \frac{1}{2 \mp x^2/4}$　となります。まだまだ放物線の面影が著しいですね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/02f26aed-c889-0b88-a0d3-6c989e6a8845.png)
③n=3の時、3次関数$\int_{x=-5}^{+5} \frac{1}{2 \mp x^3/9}$。おや、様子が…
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/8d6ed9a2-02db-1ddb-ced9-0cbfcbb468d4.png)
④n=4の時、、2次関数$\int_{x=-5}^{+5} \frac{1}{2 \mp x^2/4}$。大体4分割以降は安定期に入る模様。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/064094fd-dbf4-8876-fafe-c5c7c8c28211.png)

```python
import numpy as np
import cmath as c
import matplotlib.pyplot as plt
import matplotlib.animation as animation

#figure()でグラフを表示する領域をつくり，figというオブジェクトにする．
plt.style.use('default')
fig = plt.figure()
ax = fig.add_subplot(111,aspect='equal')

#放物線x
x=np.linspace(-5,5,31,endpoint = True)

#描画関数
def sigmoid01(n): 
    plt.cla()
    #関数計算
    c0=(1+(-x*(1+0j))/Time_Code[n])**Time_Code[n]
    y0=c0.real
    y=1/(1+y0)
    #描画
    plt.plot(x,-y,color="red",marker="o",lw=1,label="-1/(1+exp(-1))")
    plt.plot(x,y,color="blue",marker="o",lw=1,label="+1/(1+exp(-1))")
    plt.axvline(0, 0, 1,color="black",lw=0.5)
    plt.axhline(0, 0, 1,color="black",lw=0.5)
    plt.xlim([-6,6])
    plt.ylim([-6,6])
    plt.xlabel("x")
    plt.ylabel("y")
    plt.title("Standard Sigmoid Function")
    ax.legend(loc='lower right')

#Time_Code=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]
Time_Code=np.linspace(1,16,32,endpoint = True)

#sigmoid01(0)
#plt.show()

ani = animation.FuncAnimation(fig, sigmoid01, interval=50,frames=len(Time_Code))
ani.save("sig804.gif", writer="pillow")
```
全体としてネイピア数計算の精度が上がれば上がるほど「**有効な曲線の端**」が伸びていく印象。同じ傾向は虚冪の場合にも見て取れます。
[【Rで球面幾何学】「世界で一番美しい公式」オイラーの等式の罠？](https://qiita.com/ochimusha01/items/7fa9d091f7ba9414dfc3)

そんな感じで、以下続報…