「数理演算の基礎」

2019年より着手した「数理再勉強」用の倉庫。

【統計計算の基礎】数直線(number line)上の区間(Interval)と絶対値(absolute value)と三角不等式(triangle inequalty)と乱数データ

コンピューター言語では容易に「区間や条件や個数を定めて発生させた乱数データ」を通常の数列の様に扱う事が可能です。 

f:id:ochimusha01:20200110140517p:plain

f:id:ochimusha01:20210117000455g:plain

f:id:ochimusha01:20210117003848g:plain

f:id:ochimusha01:20210117003225g:plain

f:id:ochimusha01:20210117002845g:plain

統計言語Rによる検証

cx<-rnorm(1000)
cy<-rnorm(1000)
plot(cx,cy,asp=1,main="Normal Distribution")

 吉田武「オイラーの贈物」「基礎理論(Basic Theory)」より

連続性(continuity)を扱う数直線(number line)上においては端点(end point)の設定により以下の記法(notation)を用いる。

  • 区間(closed interval)…[a,b](a<=x<=b)
  • 区間(open interval)…(a,b)(a<x<b)
  • 半開区間(semi-open interval)…[a,b)(a<=x<b)あるいは(a,b](a<x<=b)

ここで絶対値(absolute value)|x|の概念を導入しよう。xの符号の正負に関りなくその大きさのみを取り出す。定義(definition)は以下。

  • |x|≡x(x>=0の時)
  • |x|≡-x(x<0の時)

この記号を用いれば不等式-a<x<aを以下の様に簡潔に表せる。

  • |x|<a(ただしa>0)

これは幾何学的に考えれば数直線上の0を中心とした幅2aの中に数xが存在する事を意味する。

0除算が発生する為、X<=0y<=0の場合が扱えない一次関数や数列を想起させます。

吉田武「オイラーの贈物」「基礎理論(Basic Theory)」より

 二数a,bの正負を場合分けする事により、容易に以下を得る。

  •  |a,b|=|a|*|b|

また任意のa,bに対して以下が成り立つので、

  • -|a|<=a<=|a|
  • -|b|<=b<=|b|

 辺々を加え以下が成立する。

  • -(|a|+|b|)<=a+b<=|a|+|b|

これは絶対値の定義によって以下の様に書け三角不等式(triangle inequalty)と呼ばれる。

  • |a+b|<=|a|+|b|

等号はa>=0の時成り立つ。この式でaを(a-b)に置き換えると、

  • |(a-b)+b|=|a|<=|a-b|+|b|

より

  • |a|-|b|<=|a-b|

を得る。これは最も基本的な不等式である。

統計言語Rによる検証

#数列単位で比較出来る。
c(1,2,3)>c(2,1,3)
[1] FALSE TRUE FALSE

#最小-5、最大5の乱数10個で試してみる。
a=round(runif(10,-5,5))
a
[1] -1 1 1 -1 -1 -3 4 4 -3 3
abs(a)
[1] 1 1 1 1 1 3 4 4 3 3

b=round(runif(10,-5,5))
b
[1] 1 -3 4 4 -4 3 -3 4 4 3
abs(b)
[1] 1 3 4 4 4 3 3 4 4 3
a==b
[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE TRUE
a!=b
[1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE FALSE TRUE FALSE
a>b
[1] FALSE TRUE FALSE FALSE TRUE FALSE TRUE FALSE FALSE FALSE
a<b
[1] TRUE FALSE TRUE TRUE FALSE TRUE FALSE FALSE TRUE FALSE
a<=b
[1] TRUE FALSE TRUE TRUE FALSE TRUE FALSE TRUE TRUE TRUE
a>=b
[1] FALSE TRUE FALSE FALSE TRUE FALSE TRUE TRUE FALSE TRUE

#式の動作の確認
abs(a*b)==abs(a)*abs(b)
[1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
-(abs(a)+abs(b))<=a+b
[1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
-(abs(a)+abs(b))<=a+b
[1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
a+b<=abs(a)+abs(b)
[1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
abs(a)-abs(b)<=abs(a-b)
[1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE

不等式の例外

循環小数(recurring decimal)0.3333…(無限に続く)について

  • A=0.3333…(無限に続く)

とする。両辺を10倍して

  • 10A=3.33333…(無限に続く)=3+A

よって

  • 9A=3

よって

  • A=1/3

0.9999…(無限に続く)を途中で1と置いている訳だが、有理数(rational number)のこうした側面を認めないと実数(real number)の連続性(continuity)仮定が崩壊してしまう。

コンピューター処理が普及したらあまり気にされなくなった案件?

統計言語Rによる検証

#通常ライブラリには、そもそも循環小数への配慮自体がない。
1/3*10
[1] 3.333333

#代数ライブラリyacasは逆に約分自体をしない。
library(Ryacas)
yacas("1/3*10")
expression(10/3)

以下続報…

【参考】この投稿執筆時に参照したサイト

演算子

確率分布と乱数