【数理考古学】誤差関数(ERF=Error Function)と相補誤差関数 (ERFC=Complementary Error Function)。

[【初心者向け】「三角不等式(Triangle Inequality)」の体感方法？ - Qiita](https://qiita.com/ochimusha01/items/325717eef47b1cbeadb1)
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20210117/20210117003848.gif)
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20210117/20210117003225.gif)
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20210117/20210117002845.gif)![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20201110/20201110010727.gif)
**正規分布**(<font color=blue>Normal Distribution</font>)概念の根底にある**中心極限定理**（<font color=blue>CLT=Central Limit Theorem</font>）をガウスはこう解釈しました。
[【無限遠点を巡る数理】無限遠点としての正規分布と分散概念の歴史](https://qiita.com/ochimusha01/items/15326f0c787a55f174cc)

* 小さな誤差ほど比較的観測され易い。
* 大きな誤差ほど比較的観測され難い。
* 従って、一定以上の誤差を切り捨てる事によって**観測精度**(<font color=blue>Observation Accuracy</font>)を確定する事が出来る。

その**具体的表現**(<font color=blue>Expression=数式化</font>)が**誤差関数**(<font color=blue>ERF=Error Function</font>)と**相補誤差関数** (<font color=blue>ERFC=Complementary Error Function</font>)となります。
[誤差関数 - Wikipedia](https://ja.wikipedia.org/wiki/%E8%AA%A4%E5%B7%AE%E9%96%A2%E6%95%B0)
[Rで誤差関数・相補誤差関数erf,erfcを使う](http://hiratake55.hatenadiary.jp/entry/20090201/1233509770)

#誤差関数(<font color=blue>ERF=Error Function</font>)
**誤差関数**(<font color=blue>ERF=Error Function</font>)<font color=green>erf(x)=2/sqrt(π)×integrate(exp(-t^2), 0, x) </font>
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/6736b622-9d5f-f07b-b87e-f4d5e63cfe3d.png)

```R
erf <- function(x) 2 * pnorm(x * sqrt(2)) - 1
plot(erf,xlim=c(-3,3),ylim=c(-1,1),main="Error Function(ELF)",xlab="x",ylab="ELF(x)",col=rgb(1,0,0))
abline(h=0)
abline(v=0)
```
x軸とy軸を逆転させた**逆関数**(<font color=blue>Inverse Function</font>)はこんな感じになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/22c2e175-f58d-add8-87a0-10695e8ec9ed.png)

```R
erf <- function(x) 2 * pnorm(x * sqrt(2)) - 1
cy<-seq(-3,3,length=61)
cx<-erf(cy)
plot(cx,cy,type="l", xlim=c(-1,1),ylim=c(-3,3),main="Inverse ELF",xlab="x",ylab="Inverse ELF(x)",col=rgb(1,0,0))
abline(h=0)
abline(v=0)
```
これを以下の投稿で使用した「**円形尺**(<font color=blue>Circular Scale=数直線概念の延長線上に現れる角度概念導入以前の曲座標系</font>)」に**射影**(<font color=blue>Projection</font>)するとこんな感じになります。
[【初心者向け】「観測者問題」のあっけない解決方法? - Qiita](https://qiita.com/ochimusha01/items/352399b7d19cd59eec81)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/1450f997-a7b6-1e0b-0d92-0f602f3fe855.png)

```R

erf <- function(x) 2 * pnorm(x * sqrt(2)) - 1

erf_scale00<-function(inbetween){

c0<-seq(0,pi*2,length=61)
cx<-cos(c0)
cy<-sin(c0)

c0<-seq(0,3,length=31)

for (i in c0){
plot(cx*(erf(i+inbetween)),cy*(erf(i+inbetween)),type="l",xlim=c(-1,1),asp=1,ylim=c(-1,1),main="",xlab="",ylab="",col=c(200,200,200,200))
par(new=T)
}

plot(cx,cy,type="l",xlim=c(-1,1),asp=1,ylim=c(-1,1),main="Error Function(Elf) Scale",xlab="Cos(θ)",ylab="Sin(θ)i", col=rgb(0,1,0))

abline(h=0,col=rgb(1,0,0))
abline(v=0,col=rgb(1,0,0))

# 凡例を書き添える 。
legend("topright", legend=c("Circle(Radius=1,Augment=θ)","x=y=0"), lty =c(1,1),col=c(rgb(0,1,0),rgb(1,0,0)))
}

erf_scale00(0)
```
**アニメーション化**(<font color=blue>0→∞、中割り二枚</font>)
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20201113/20201113110834.gif)

```R
#アニメーション
library("animation")
Time_Code=c(0,1/30,2/30,0,1/30,2/30,0,1/30,2/30,0,1/30,2/30)
saveGIF({
for (i in Time_Code){
　erf_scale00(i)
}
}, interval = 0.1, movie.name = "erf_scale_back.gif")
```
**アニメーション化**(<font color=blue>∞→0、中割り二枚</font>)
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20201113/20201113110006.gif)

```R
#アニメーション
library("animation")
Time_Code=c(0,2/30,1/30,0,2/30,1/30,0,2/30,1/30,0,2/30,1/30)
saveGIF({
for (i in Time_Code){
　erf_scale00(i)
}
}, interval = 0.1, movie.name = "erf_scale_forward.gif")
```

**アニメーション化**(<font color=blue>どちらにも見える、中割り一枚</font>)
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20201113/20201113111114.gif)

```R
#アニメーション
library("animation")
Time_Code=c(0,1/20,0,1/20,0,1/20,0,1/20,0,1/20,0,1/20)
saveGIF({
for (i in Time_Code){
　erf_scale00(i)
}
}, interval = 0.1, movie.name = "erf_scale_even.gif")
```
そのまま**水平線**/**地平線**(<font color=blue>Horizon</font>)を表す<font color=blue>Sin(θ)</font>を採用するとピッチが倍に見えます。
![Rplot17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/e923db25-c546-6f2f-641f-d223c09cb2ee.png)

```R
sin_scale <- function(x) Im((0+1i)^(2*x))

sin_scale00<-function(inbetween){

c0<-seq(0,pi*2,length=61)
cx<-cos(c0)
cy<-sin(c0)

c0<-seq(0,1/2,length=31)

for (i in c0){
plot(cx*(sin_scale(i+inbetween)),cy*(sin_scale(i+inbetween)),type="l",xlim=c(-1,1),asp=1,ylim=c(-1,1),main="",xlab="",ylab="",col=c(200,200,200,200))
par(new=T)
}

plot(cx,cy,type="l",xlim=c(-1,1),asp=1,ylim=c(-1,1),main="Sine Scale",xlab="Cos(θ)",ylab="Sin(θ)i", col=rgb(0,1,0))

abline(h=0,col=rgb(1,0,0))
abline(v=0,col=rgb(1,0,0))

# 凡例を書き添える 。
legend("topright", legend=c("Circle(Radius=1,Augment=θ)","x=y=0"), lty =c(1,1),col=c(rgb(0,1,0),rgb(1,0,0)))
}

sin_scale00(0)
```
**アニメーション化**(<font color=blue>0→∞、中割り二枚</font>)
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20201116/20201116054258.gif)

```R
#アニメーション
library("animation")
Time_Code=c(0,1/180,2/180,0,1/180,2/180,0,1/180,2/180,0,1/180,2/180)
saveGIF({
for (i in Time_Code){
　sin_scale00(i)
}
}, interval = 0.1, movie.name = "sin_scale_back.gif")
```
**アニメーション化**(<font color=blue>∞→0、中割り二枚</font>)
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20201116/20201116054934.gif)

```R
#アニメーション
library("animation")
Time_Code=c(0,2/180,1/180,0,2/180,1/180,0,2/180,1/180,0,2/180,1/180)
saveGIF({
for (i in Time_Code){
　sin_scale00(i)
}
}, interval = 0.1, movie.name = "sin_scale_forward.gif")
```

**アニメーション化**(<font color=blue>どちらにも見える、中割り一枚</font>)
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20201116/20201116055729.gif)

```R
#アニメーション
library("animation")
Time_Code=c(0,1/120,0,1/120,0,1/120,0,1/120,0,1/120,0,1/120)
saveGIF({
for (i in Time_Code){
　sin_scale00(i)
}
}, interval = 0.1, movie.name = "sin_scale_even.gif")
```
これを是正するにはピッチを半分にするのです。
![Rplot18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/68db2011-a05e-1355-78a8-8955b42cd030.png)

```R
sin_scale <- function(x) Im((0+1i)^(2*x))

sin_scale01<-function(inbetween){

c0<-seq(0,pi*2,length=61)
cx<-cos(c0)
cy<-sin(c0)

c0<-seq(0,1/2,length=16)

for (i in c0){
plot(cx*(sin_scale(i+inbetween)),cy*(sin_scale(i+inbetween)),type="l",xlim=c(-1,1),asp=1,ylim=c(-1,1),main="",xlab="",ylab="",col=c(200,200,200,200))
par(new=T)
}

plot(cx,cy,type="l",xlim=c(-1,1),asp=1,ylim=c(-1,1),main="Sine Scale",xlab="Cos(θ)",ylab="Sin(θ)i", col=rgb(0,1,0))

abline(h=0,col=rgb(1,0,0))
abline(v=0,col=rgb(1,0,0))

# 凡例を書き添える 。
legend("topright", legend=c("Circle(Radius=1,Augment=θ)","x=y=0"), lty =c(1,1),col=c(rgb(0,1,0),rgb(1,0,0)))
}

sin_scale01(0)
```
**アニメーション化**(<font color=blue>0→1、中割り二枚</font>)
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20201116/20201116225028.gif)

```R
#アニメーション
library("animation")
Time_Code=c(0,1/90,2/90,0,1/90,2/90,0,1/90,2/90,0,1/90,2/90)
saveGIF({
for (i in Time_Code){
　sin_scale01(i)
}
}, interval = 0.1, movie.name = "sin_scale01_back.gif")
```
**アニメーション化**(<font color=blue>1→0、中割り二枚</font>)
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20201116/20201116230002.gif)

```R
#アニメーション
library("animation")
Time_Code=c(0,2/90,1/90,0,2/90,1/90,0,2/90,1/90,0,2/90,1/90)
saveGIF({
for (i in Time_Code){
　sin_scale01(i)
}
}, interval = 0.1, movie.name = "sin_scale01_forward.gif")
```

**アニメーション化**(<font color=blue>どちらにも見える、中割り一枚</font>)
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20201116/20201116230848.gif)

```R
#アニメーション
library("animation")
Time_Code=c(0,1/60,0,1/60,0,1/60,0,1/60,0,1/60,0,1/60)
saveGIF({
for (i in Time_Code){
　sin_scale01(i)
}
}, interval = 0.1, movie.name = "sin_scale01_even.gif")
```
射影対象を<font color=green>exp(-Sin(θ))</font>と置くとまた別の景色が浮かび上がります。
![Rplot19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/d36d8c4a-6f86-1a89-0445-52f806b28c4c.png)

```R
sin_scale <- function(x) Im((0+1i)^(2*x))

sin_scale02<-function(inbetween){

c0<-seq(0,pi*2,length=61)
cx<-cos(c0)
cy<-sin(c0)

c0<-seq(0,1/2,length=31)

for (i in c0){
plot(cx*(exp(-sin_scale(i+inbetween))),cy*(exp(-sin_scale(i+inbetween))),type="l",xlim=c(-1,1),asp=1,ylim=c(-1,1),main="",xlab="",ylab="",col=c(200,200,200,200))
par(new=T)
}

plot(cx,cy,type="l",xlim=c(-1,1),asp=1,ylim=c(-1,1),main="exp(Sine Scale)",xlab="Cos(θ)",ylab="Sin(θ)i", col=rgb(0,1,0))

abline(h=0,col=rgb(1,0,0))
abline(v=0,col=rgb(1,0,0))

# 凡例を書き添える 。
legend("topright", legend=c("Circle(Radius=1,Augment=θ)","x=y=0"), lty =c(1,1),col=c(rgb(0,1,0),rgb(1,0,0)))
}

sin_scale02(0)
```
**アニメーション化**(<font color=blue>1→exp(-1)、中割り二枚</font>)
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20201116/20201116233913.gif)

```R
#アニメーション
library("animation")
Time_Code=c(0,1/180,2/180,0,1/180,2/180,0,1/180,2/180,0,1/180,2/180)
saveGIF({
for (i in Time_Code){
　sin_scale02(i)
}
}, interval = 0.1, movie.name = "sin_scale02_back.gif")
```
**アニメーション化**(<font color=blue>exp(-1)→1、中割り二枚</font>)
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20201117/20201117042902.gif)

```R
#アニメーション
library("animation")
Time_Code=c(0,2/180,1/180,0,2/180,1/180,0,2/180,1/180,0,2/180,1/180)
saveGIF({
for (i in Time_Code){
　sin_scale02(i)
}
}, interval = 0.1, movie.name = "sin_scale02_forward.gif")
```

**アニメーション化**(<font color=blue>どちらにも見える、中割り一枚</font>)
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20201117/20201117043733.gif)

```R
#アニメーション
library("animation")
Time_Code=c(0,1/120,0,1/120,0,1/120,0,1/120,0,1/120,0,1/120)
saveGIF({
for (i in Time_Code){
　sin_scale02(i)
}
}, interval = 0.1, movie.name = "sin_scale02_even.gif")
```
考えてみればこれって**世界卵**(<font color=blue>World Egg</font>)の**下半分**そのものですね。という事は？
[【無限遠点を巡る数理】「名状し難きもの(The Unnamable)問題」を世に解き放つ。](https://qiita.com/ochimusha01/items/98e22965312c4a29318f)
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20201106/20201106233928.gif)

#相補誤差関数(<font color=blue>ELFC=Complementary Error Function</font>)
**相補誤差関数**(<font color=blue>ERFC=Complementary Error Function</font>) <font color=green>erfc(x)=1-erf(x)==2/sqrt(π)×integrate(exp(-t^2), x, ∞) </font>
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/eeb81d7d-d3fd-c30c-4dad-b584baccd90c.png)

```R
erfc <- function(x) 2 * pnorm(x * sqrt(2), lower=FALSE)
plot(erfc,xlim=c(-3,3),ylim=c(0,2),main="Complementary Error Function(ELFC)",xlab="x",ylab="ELFC(x)",col=rgb(1,0,0))
abline(h=1)
abline(v=0)
```
x軸とy軸を逆転させた**逆関数**はこんな感じになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/cdbe72de-481d-2f48-9464-de6f7e1f9717.png)

```R
erf <- function(x) 2 * pnorm(x * sqrt(2)) - 1
cy<-seq(-3,3,length=61)
cx<-erfc(cy)
plot(cx,cy,type="l", xlim=c(0,2),ylim=c(-3,3),main="Inverse ELFC",xlab="x",ylab="Inverse ELFC(x)",col=rgb(1,0,0))
abline(h=0)
abline(v=1)
```
これを同様に**円形尺**に**射影**するとこうなります。
[【初心者向け】「観測者問題」のあっけない解決方法? - Qiita](https://qiita.com/ochimusha01/items/352399b7d19cd59eec81)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/ac507ef6-41f2-c247-46aa-19d1aa6959c6.png)

```R
erfc <- function(x) 2 * pnorm(x * sqrt(2), lower=FALSE)

erfc_scale00<-function(inbetween){

c0<-seq(0,pi*2,length=61)
cx<-cos(c0)
cy<-sin(c0)

c0<-seq(0,3,length=31)

for (i in c0){
plot(cx*(1-erfc(i+inbetween))+1,cy*(1-erfc(i+inbetween)),type="l",xlim=c(0,2),asp=1,ylim=c(-1,1),main="",xlab="",ylab="",col=c(200,200,200,200))
par(new=T)
}

plot(cx+1,cy,type="l",xlim=c(0,2),asp=1,ylim=c(-1,1),main="Complementary Error Function(ElfC) Scale",xlab="Cos(θ)",ylab="Sin(θ)i", col=rgb(0,1,0))

abline(h=0,col=rgb(1,0,0))
abline(v=1,col=rgb(1,0,0))

# 凡例を書き添える 。
legend("topright", legend=c("Circle(Radius=1,Augment=θ)","x=1, y=0"), lty =c(1,1),col=c(rgb(0,1,0),rgb(1,0,0)))
}

erfc_scale00(0)
```
**アニメーション化**(<font color=blue>0→∞、中割り二枚</font>)
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20201113/20201113140726.gif)

```R

#アニメーション
library("animation")
Time_Code=c(0,1/30,2/30,0,1/30,2/30,0,1/30,2/30,0,1/30,2/30)
saveGIF({
for (i in Time_Code){
　erfc_scale00(i)
}
}, interval = 0.1, movie.name = "erfc_scale_back.gif")
```
**アニメーション化**(<font color=blue>∞→0、中割り二枚</font>)
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20201113/20201113141108.gif)

```R

#アニメーション
library("animation")
Time_Code=c(0,2/30,1/30,0,2/30,1/30,0,2/30,1/30,0,2/30,1/30)
saveGIF({
for (i in Time_Code){
　erfc_scale00(i)
}
}, interval = 0.1, movie.name = "erfc_scale_forward.gif")
```

**アニメーション化**(<font color=blue>どちらにも見える、中割り一枚</font>)
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20201113/20201113141517.gif)

```R

#アニメーション
library("animation")
Time_Code=c(0,1/20,0,1/20,0,1/20,0,1/20,0,1/20,0,1/20)
saveGIF({
for (i in Time_Code){
　erfc_scale00(i)
}
}, interval = 0.1, movie.name = "erfc_scale_even.gif")

```

#複素共役(<font color=blue>Complex Conjugate</font>)の正面図？
ところで**複素共役**（<font color=blue>複素共軛, Complex Conjugate</font>）の振る舞いは、上のアニメーションの「**側面図**」とも見て取れるのです。
[【初心者向け】複素共役のアニメーション表示について。 - Qiita](https://qiita.com/ochimusha01/items/e0bb2789a420d3317cf1)
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20201113/20201113215700.gif)
<font color=purple>x軸に沿っての動き。</font>
**アニメーション化**(<font color=blue>x=+1→-1、中割り二枚</font>)
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20201113/20201113203615.gif)
**アニメーション化**(<font color=blue>-1→+1、中割り二枚</font>)
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20201113/20201113203428.gif)
**アニメーション化**(<font color=blue>どちらにも見える、中割り一枚</font>)
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20201113/20201113204552.gif)
<font color=purple>y軸に沿っての動き。</font>
**アニメーション化**(<font color=blue>y=+1→-1、中割り二枚</font>)
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20201113/20201113201950.gif)
**アニメーション化**(<font color=blue>y=-1→+1、中割り二枚</font>)
![image.png](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20201113/20201113204404.gif)
**アニメーション化**(<font color=blue>どちらにも見える、中割り一枚</font>)
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20201113/20201113205243.gif)
何かを連想させますね。そう正面図が**円描写関数**<font color=green>Cos(θ)+Sin(θ)i</font>、側面図がそれぞれ<font color=green>Cos(θ)</font>と<font color=green>Sin(θ)</font>となる**単位円筒**(<font color=blue>Unit Cylinder</font>)概念…
[【初心者向け】物理学における「単位円筒」の概念について。](https://qiita.com/ochimusha01/items/ced1c21b4411e79cdcbe)
**XY軸**(<font color=blue>円弧</font>)
![image.gif](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F597772%2F0e55e673-d89e-6d33-6e33-9edf6fecdbdd.gif?ixlib=rb-1.2.2&auto=format&gif-q=60&q=75&w=1400&fit=max&s=7b5ca9731032cdc350cc82e7f6bb4134)
**XZ軸**(<font color=blue>Cos波</font>)
![image.gif](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F597772%2F529cc2b1-3476-4eba-1c07-a79cc8ba16d7.gif?ixlib=rb-1.2.2&auto=format&gif-q=60&q=75&w=1400&fit=max&s=c987568cce30c0c5fcbf93a143914677)
**YZ軸**(<font color=blue>Sin波</font>)
![image.gif](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F597772%2Ffa66cf1a-291e-8e76-8ea7-c586efcb1e21.gif?ixlib=rb-1.2.2&auto=format&gif-q=60&q=75&w=1400&fit=max&s=bc4cda998e16d4b05b0cf6ffd9c31528)

#そして「統計学」の世界へ…
ちなみに統計学ではしばしば「**95%棄却域**」や「**99%棄却域**」なる概念を用いますが、それに対応するのはおそらく以下です。
[23-5. 検定統計量と棄却域・採択域 | 統計学の時間 | 統計WEB](https://bellcurve.jp/statistics/course/9317.html)

```R
#「95%棄却」ではelf(x)のxの値が概ねsqrt(2)に該当。

sqrt(2)
[1] 1.414214

#elf(x)=0.95におけるxの下限は1.3859~1.3860

> erf(1.3859)
[1] 0.9499994
> erf(1.3860)
[1] 0.9500159

#elf(x)=0.95におけるxの上限は1.4522~1.4523

> erf(1.4522)
[1] 0.9599973

 > erf(1.4523)
[1] 0.960011

#elf(x)=0.99におけるxの下限は1.8213~1.8214

> erf(1.8213)
[1] 0.9899965

> erf(1.8214)
[1] 0.9900006
```
確かに恐ろしく収束が早く「<font color=red>誤差として切って捨てる</font>」のが惜しくありません。一方、後世の統計学はそれを「<font color=red>決して偶然起こった事ではない</font>」基準として採用した訳です。

#Pythonの場合

```python
import math as m
import cmath as c
import numpy as np
import scipy.special as sp
import matplotlib.pyplot as plt
import matplotlib.animation as animation

#単位円データ作成
c0=np.linspace(0,2*m.pi,61,endpoint = True)
s0=[]
for nm in range(len(c0)):
    s0.append(complex(m.cos(c0[nm]),m.sin(c0[nm])))
s1=np.array(s0)

#複素共役データ作成

#描画準備
plt.style.use('default')
fig = plt.figure(111)

#関数定義
def sin_scale(x):
    return ((0+1j)**(2*x)).imag
def erf_scale00(n):
    plt.cla()
    #共益線描画
    z0=np.linspace(0,3,31)
    for nm in z0:
        plt.plot(s1.real*sp.erf(nm+Time_code[n]),s1.imag*sp.erf(nm+Time_code[n]),color="black",lw=0.5);    
    #円周描画
    plt.plot(s1.real,s1.imag,color="green", label="Unit Cylinder")

    plt.ylim([-1.1,1.1])
    plt.xlim([-1.1,1.1])
    plt.title("Error Function(Elf)")
    plt.xlabel("Real")
    plt.ylabel("Imaginal")
    ax = fig.add_subplot()
    ax.set_aspect('equal', adjustable='box')
    ax.legend(loc='upper right')
    #補助線描画
    plt.axvline(0, 0, 1,color="red")
    plt.axhline(0, 0, 1,color="red")
    
#アニメーション化(0→∞、中割り二枚)
Time_code=[0,1/30,2/30,0,1/30,2/30,0,1/30,2/30,0,1/30,2/30]
#アニメーション化(∞→0、中割り二枚)
#Time_code=[0,2/30,1/30,0,2/30,1/30,0,2/30,1/30,0,2/30,1/30]
#アニメーション化(どちらにも見える、中割り一枚)
#Time_code=[0,1/20,0,1/20,0,1/20,0,1/20,0,1/20,0,1/20]
#erf_scale00(1)
#plt.show()

ani = animation.FuncAnimation(fig, erf_scale00, interval=50,frames=len(Time_code))
ani.save("erf008.gif", writer="pillow")
```
**アニメーション化**(0→∞、中割り二枚)
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20210703/20210703204956.gif)
**アニメーション化**(∞→0、中割り二枚)
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20210703/20210703205604.gif)
**アニメーション化**(どちらにも見える、中割り一枚)
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20210703/20210703205653.gif)

そんな感じで以下続報…