私が数学の再勉強を思い立った時、真っ先に精読したのが吉田武「オイラーの贈物 -人類の至宝e^iπ=−1を学ぶ(初版1993年)」だったのですが、今から思えばその結果、改めて直面する事になったのが「(生物が視覚とそれに呼応する脊髄と運動機関のフィードバック体系を獲得する過程で依存する様になった)原始デカルト座標系 (Primitive Cartesian Coordinate System)」の典型例の一つたる「数直線の連続性(Continuity of Number Line)の祝福/呪縛」という問題だったのです。
数直線|算数用語集
①左から右へいくほど大きくなっている。②等間隔に目盛りが打たれている。③連続量として捉えられる。この様な特徴を備えた数直線には、数が視覚的,直観的に把握できるというよさがあります。また,数の大小・順序・系列を理解させる補助として効果を発揮します。数の概念が拡張されていくに従って数直線の見方も広がり,小数・分数の数直線,負の数の数直線,有理数・実数の数直線というように発展していきます。
そう、まさにこの概念の「原始デカルト座標系的わかりやすさ」そのものに数理(Mathematical Things)を群論(Group Theory)に拡張する上での障害(Inability)が仕込まれているのです。
算数と数学における乗算・加算の交換法則問題について一言
#そもそも「連続」とは何か?
数学において連続(Continuous)および連続性(Continuity)とは、いくら拡大しても近くにあって差が無いことを示す極限概念である。異なる位相空間(Topological Space)の間の写像について、連続集合の開閉(部分集合における内部、外部、境界)や極限(Limit)や収束(Convergence)といった諸概念を一定の法則性に基づいて束ねる為に定められる最も基本的な枠組みといえる。
【初心者向け】「三角不等式(Triangle Inequality)」の体感方法?日常語としては「連続」が「切れずに繋がっている」という意味で使われる事が多いが、位相空間論ではこれを「部分集合(Subset)の連結(Connected)」と表す。事実として「連結領域の連続像は必ず連結」であり、従って連結な定義域を持つ連続函数のグラフは文字通り「切れずに繋がっている」ことになるが、それは連続性の本質ではない。
【初心者向け】集合論①部分集合と真部分集合について。一方、位相空間論において函数や写像が連続であるというのは、ある特定の意味で位相空間の間の位相的構造を保つある種の準同型(Homomorphic)となっていることを意味し、その成立自体が位相空間論における興味の対象となり、数学の他の領域における各種の連続性の定義の多くも位相空間論における連続性の定義から導出される。
準同型写像:物理のかぎしっぽ空間の位相が「同相=位相同型(Homeomorphic)」である為の基礎概念であり、特に全単射な連続写像が同相写像であるための必要十分条件は、その逆写像もまた連続となる事である。連続でない写像あるいは函数は、不連続であると言う。
ここで「自然数列(Natural sequence)は整数列(Integer sequence)の真部分集合(proper subset)である」という概念について群論(Group Theory)の用語を導入(Introduce)しながら再検討を試みたいと思います。
【初心者向け】集合論①部分集合と真部分集合について。
- 自然数(Natural Number)N…加法単位元(Additive Identity)0と乗法単位元(Multiplicative Identity)1の距離(Distance)1に注目し、これを再帰的加算単位とする片側等差数列(One-side Arithmetic Sequence)Nn(n=1→Inf(inity)){1=1,2=1+1,3=1+(1+1),4=1+(1+(1+1))…,Inf}を得た結果。
- 整数(Integer Number)Z…さらに距離(Distance)1の反数(Opposite)-1に注目して再帰的減算単位とする片側等差数列(One-side Arithmetic Sequence)Zn(n=1→-Inf){1=1,0=1-1,-1=1-(1+1),-2=1-((1+1)+1),…,Inf}を得る。この二つの数列は連結しているので、両者を合わせた両側等差数列(Both-side Arithmetic Sequence)Zn(n=Inf→-1→0→1→-Inf){1=1,0=1-1,-1=1-(1+1),-2=1-((1+1)+1),…,Inf}がその定義となる。
- これは群論(Group Theory)においては、(それぞれが特定の演算結果たる)二つの元から一つの元を作る(SxS空間からS空間へ写像する)二項演算(Binary Operation)に該当する操作となるが、かかる「逆写像もまた連続とする」射影(Projiection)には加算における交換則(Commutative Law of Addition)a+b=b+aは成立するが、減算における交換則(Commutative Law of Subtraction)a-b=b-aは成立しないという特徴が備わっている。
群(Group)の定義は結合則(Associative law)(a○b)○c=a○(b○c)の成立や(どんな元との二項演算の結果もその元そのものとなる)単位元(Identity Element)の存在に加え、かかる操作を経てしか取り込めない(それぞれの元との二項演算の結果が単位元となる)逆元(Inverse Element)の存在を前提とするので、この特徴の付帯はほぼ不可避と考えられます。
群 (数学) - Wikipedia
そしてさらに付け加えるなら、こうして得られた(自然数概念を整数概念に拡張した結果としての)等差数列(Arithmetic Sequence)概念をさらに拡張した結果得られる等比数列(Geometric Sequence=幾何数列)概念は、残念ながら「(歴史的には自然数や整数の概念の自然な拡張の結果現れると考えられてきた)有理数(Rational number)=比率、すなわち分子/分母の形で表せるあらゆる数」そのものではないのです。
等比数列 - Wikipedia
- まず乗法単位元(Multiplicative Identity)1を添字(Index)の0に射影(Projection)して正の整数を再帰的乗算/冪乗単位とする片側等比数列(One-side Geometric Sequence)Qn(n=0,1,2,3,…,Inf){1,x^1=x,x^2=xx,x^3=xx*x,…,x^Inf=Inf}を得る。
- 次いで負の整数を再帰的乗算/冪乗単位に設定し片側等比数列(One-side Geometric Sequence)Qn(n=0,-1,-2,-3,…,-Inf){1,1/x^1=1/x,1/x^2,1/x^3,…,1/x^Inf=1/Inf=0}を得る。
- この二つの数列は連結しているので、最終的に両者を合わせた両側等比数列(Both-side Geometric Sequence)Qn(n=-Inf,…,-3,-2,-1,0,1,2,3,…,Inf){1/Inf=0,…,1/x^3,1/x^2,1/x,1,x,x^2,x^3,…,Inf}が得られる。
- かかる「逆写像もまた連続とする」射影(Projiection)には乗算における交換則(Commutative Law of Multiply)ab=baは成立するが、除算における交換則(Commutative Law of Division)a/b=b/aは成立しないという特徴が備わっている。
おそらく群論的にまとめると片側等差数列(自然数)の反数(Opposite)に注目した操作によって両側等差数列(整数)=加法群(Additive Group)を獲得し、さらにその逆数(Reciprocal)に注目した操作によって(対数/指数関数や1の冪根(root of unity)1^n群などを含む)両側等比数列=乗法群(Multiplicative Group) を獲得したと言い換える事が出来そうです(まだ群論についての理解が十分ではないので断言までは出来ない)。
加法群 - Wikipedia
乗法群 - Wikipedia
ならば、こうした「数理的に自然な」操作の延長線上に現れない有理数(Rational number)とは一体何なのでしょう?
#「傾き」や「勾配」の概念が導入されて以降が「有理数(Rational number)の世界」
上掲の記述において既に射影(添字を共有する二つの「元=集合=数列」から新たな「元=集合=数列」を構成する二項演算)の概念を用いていますが、それはあくまで(新たに得られる「元=集合」において群の成立条件を満たすべく、その元に対する反数集合や逆数集合を合成する為の)ある種の方便に過ぎませんでした(要するにある意味、同群内における自明的特徴の形を変えた説明に過ぎない)。とりあえずこうした操作は、その原義においては直積(Product)とも呼ばれます。
直積集合 - Wikipedia
同じく原義においては「よく切ったトランプN組(53枚=13ランクが1セットのスイート4組+Joker)から1枚ずつ選んだN枚組のデッキを53セット用意する操作」なども範疇に含みますが、こちらの概念も独自に順列(sequence without repetition)や組み合わせ(combination, choose)といった方向に拡張されていきます。
【初心者向け】階乗と順列と組み合わせ
その一方で直積の別名はデカルト積(Cartesian Product)であり、歴史上は「デカルト座標系(Cartesian Coordinate System)=互いに直交するN次元評価軸」こそを直積の代表例と考える期間が長らく続いてきたのでした。
有名な歴史上の例として解析幾何学における直交座標系が挙げられる。ルネ・デカルトは、数を用いて幾何学的な図形を表現したり、図形から数の情報を得たりする為、縦横に実数(Real Number)の目盛りを振った平面上のそれぞれの点の数値の組を対応させ、かかる交点(Intersection)を座標(Coordinate)と名付けた。ふつう、このような組の1番目および2番目の要素をそれぞれx座標/y座標と呼ぶ。したがって、それぞれの目盛り上の数値の組のすべての集合、すなわちℝ×ℝ(ℝは実数)なる直積集合は、平面上のすべての点の集合に対応する。
あれ?「実数(Real Number)の連続性」って、こんなに安易に導入して構わない概念なんでしたっけ?(Wikipediaの記述も「有名な歴史上の例」となっている) その辺りの無邪気さの大元を遡ると、数理に確立以前に実存する「(カンブリア爆発期以降、一部の生物が視覚とそれに呼応する脊髄と運動機関のフィードバック体系を獲得する過程で依存する様になった)原始デカルト座標系 (Primitive Cartesian Coordinate System)」に辿り着くという訳です。
【無限遠点を巡る数理】「ピタゴラスの定理」と「デカルト座標系」の狭間
- 「数直線の連続性」について、自然数や整数の定義から慎重に再定義するなら「距離1と次元数1の抽出→再帰演算処理による2以降/0以下の数字の補完と数直線の構成」といった感じに落ち着く。歴史上我々は小数点以下の概念の導入に際して悪戦苦闘を重ねたが、最初から無限遠点(Inf(inity))を意識してXn(n=0→Inf){0=1/Inf,1=Inf/Inf,Inf=Inf/1}といったスケーラブルな距離概念から出発するなら、既に自然数や整数の概念に少数の概念は含まれていた事になり(要するに単なる桁表示、あるいは方眼の升目の設定の問題)そうした寄り道は回避可能。少なくとも「自然数が埋められない目盛の隙間を整数が埋め、それでも埋められない隙間を有理数や無理数が埋めていく…」といったヒューリスティクスな誤謬に嵌る事はないのである。
【無限遠点を巡る数理】自然数・整数・有理数の概念の再定義
いずれにせよデカルト座標系においては特に次元の掌握(特に原始デカルト座標系の掌握する時間経過と二次元・三次元の世界、あるいは主成分分析と因子分析といった多変量解析技法が扱う要素空間)と各次元が示す数値のある種の比率、すなわち傾き(Slope)や勾配(Gradient)を巡るが注目される展開を迎え、要するにこれこそが「有理数(Rational number)の世界」。この次元の数理研究においても人類は膨大な量の業績を積み上げてきましたが、とりあえず上掲の様に「片側等差数列(自然数)の概念の延長線上に単位元や反数の概念を取り込んだ両側等差数列(整数=加法群)の概念が現れ、さらにそのの延長線上に逆数の概念を取り込んだ両側等比数列(乗法群)が現れる」数理展開とは一旦、完全に切り離して考えないといけないという事です。
#距離函数(Distance Function)概念を用いての「数直線の連続性」概念からの脱却
「原始デカルト座標系概念からの脱却」というと、多くの人が真っ先に思い浮かべるのはxy(z)座標を「原点からの距離=半径r」と「角度(φ(,θ))=三角関数CosとSinの組み合わせ」で表記する極座標系(Polar Coordinates System)ではないでしょうか。
極座標系
二次元空間におけるデカルト座標(x,y)の極座標系上における表現
【初心者向け】物理学における「単位円筒(Unit Cylinder)」の概念について。
- 原点(0,0)からの距離r=sqrt(x^2+y^2)
- x=r*cos(φ)
- y=r*sin(φ)
統計言語Rでの検証例
#関数CtoD_2d(半径,角度φ)={x座標,y座標}
CtoD_2d<-function(Rad,Phi)return(c(Rad*cos(Phi),Rad*sin(Phi)))
#関数DtoC_2d(x座標,y座標)={半径,角度φ}
DtoC_2d<-function(Xax,Yax)return(c(sqrt(Xax^2+Yax^2),-1*(atan2(Xax,Yax)-pi/2)))
#π=3.14159,π/2=1.5708
> round(pi, digits = 5)
[1] 3.14159
> round(pi/2, digits = 5)
[1] 1.5708
#半径1の単位円(Unit Circle)
> #0度(0ラジアン)
> round(CtoD_2d(1,0), digits = 5)
[1] 1 0
> round(DtoC_2d(1,0), digits = 5)
[1] 1 0
> #90度(π/2ラジアン)
> round(CtoD_2d(1,pi/2), digits = 5)
[1] 0 1
> round(DtoC_2d(0,1), digits = 5)
[1] 1.0000 1.5708
> #180度(πラジアン)
> round(CtoD_2d(1,pi), digits = 5)
[1] -1 0
> round(DtoC_2d(-1,0), digits = 5)
[1] 1.00000 3.14159
> #270度(3/2πラジアン)
> round(CtoD_2d(1,3/2*pi), digits = 5)
[1] 0 -1
> round(DtoC_2d(0,-1), digits = 5)
[1] 1.0000 -1.5708
> #360度(2πラジアン)
> round(CtoD_2d(1,2*pi), digits = 5)
[1] 1 0
> round(DtoC_2d(1,0), digits = 5)
[1] 1 0
三次元空間におけるデカルト座標(x,y,z)の極座標系上における表現
【初心者向け】「加法定理の幾何学的証明」に挑戦。
- 原点(0,0,0)からの距離r=sqrt(x^2+y^2+z^2)
- x=r*sin(θ)cos(φ)
- y=r*sin(θ)sin(φ)
- z=r*cos(θ)
統計言語Rでの検証例
#関数CtoD_3d(半径,角度φ,角度θ)={x座標,y座標,z座標}
CtoD_3d<-function(Rad,Phi,Theta)return(c(Rad*sin(Theta)*cos(Phi),Rad*sin(Theta)*sin(Phi),Rad*cos(Theta)))
#関数DtoC_3d(x座標,y座標,z座標)={半径,角度φ,角度θ}
DtoC_3d<-function(Xax,Yax,Zax)return(c(sqrt(Rad<-Xax^2+Yax^2+Zax^2),-1*(atan2(Xax,Yax)-pi/2),-1*(atan2(Rad,Zax)-pi/2)))
#関数CtoD_3d(半径,角度φ,角度θ)={x座標,y座標,z座標}
CtoD_3d<-function(Rad,Phi,Theta)return(c(Rad*sin(Theta)*cos(Phi),Rad*sin(Theta)*sin(Phi),Rad*cos(Theta)))
#cos(π/4)=cos(-π/4)=0.70711
#-cos(pi/4)=cos(3/4π)=-0.70711
> cos(pi/4)
[1] 0.7071068
> cos(-pi/4)
[1] 0.7071068
> -cos(pi/4)
[1] -0.7071068
> cos(3/4*pi)
[1] -0.7071068
#半径1の単位球面(Unit Sphere)
#角度φ=0の時の角度θの周回
#対蹠なので角度θの値に拠らず座標(0,0,1)を指す。
> round(CtoD_3d(1,0,0), digits = 5)
[1] 0 0 1
> round(CtoD_3d(1,pi/2,0), digits = 5)
[1] 0 0 1
> round(CtoD_3d(1,pi,0), digits = 5)
[1] 0 0 1
> round(CtoD_3d(1,3/2*pi,0), digits = 5)
[1] 0 0 1
> round(CtoD_3d(1,2*pi,0), digits = 5)
[1] 0 0 1
>
#角度φ=pi/4の時の角度θの周回
#Z座標cos(pi/4)の断面に半径cos(pi/4)の円を描く。
> round(CtoD_3d(1,0,pi/4), digits = 5)
[1] 0.70711 0.00000 0.70711
> round(CtoD_3d(1,pi/2,pi/4), digits = 5)
[1] 0.00000 0.70711 0.70711
> round(CtoD_3d(1,pi,pi/4), digits = 5)
[1] -0.70711 0.00000 0.70711
> round(CtoD_3d(1,3/2*pi,pi/4), digits = 5)
[1] 0.00000 -0.70711 0.70711
> round(CtoD_3d(1,2*pi,pi/4), digits = 5)
[1] 0.70711 0.00000 0.70711
#角度φ=pi/2の時の角度θの周回
#Z座標0の断面に半径1の円を描く。
> round(CtoD_3d(1,0,pi/2), digits = 5)
[1] 1 0 0
> round(CtoD_3d(1,pi/2,pi/2), digits = 5)
[1] 0 1 0
> round(CtoD_3d(1,pi,pi/2), digits = 5)
[1] -1 0 0
> round(CtoD_3d(1,3/2*pi,pi/2), digits = 5)
[1] 0 -1 0
> round(CtoD_3d(1,2*pi,pi/2), digits = 5)
[1] 1 0 0
#角度φ=3/4πの時の角度θの周回
#Z座標-cos(pi/4)の断面に半径cos(pi/4)の円を描く。
round(CtoD_3d(cos(pi/4),0,cos(pi/4)), digits = 5)
[1] 0.70711 0.00000 -0.70711
> round(CtoD_3d(1,pi/2,pi*3/4), digits = 5)
[1] 0.00000 0.70711 -0.70711
> round(CtoD_3d(1,pi,pi*3/4), digits = 5)
[1] -0.70711 0.00000 -0.70711
> round(CtoD_3d(1,3/2*pi,pi*3/4), digits = 5)
[1] 0.00000 -0.70711 -0.70711
> round(CtoD_3d(1,2*pi,pi*3/4), digits = 5)
[1] 0.70711 0.00000 -0.70711
#角度φ=πの時の角度θの周回
#対蹠なので角度θの値に拠らず座標(0,0,-1)を指す。
> round(CtoD_3d(1,0,pi), digits = 5)
[1] 0 0 -1
> round(CtoD_3d(1,pi/2,pi), digits = 5)
[1] 0 0 -1
> round(CtoD_3d(1,pi,pi), digits = 5)
[1] 0 0 -1
> round(CtoD_3d(1,3/2*pi,pi), digits = 5)
[1] 0 0 -1
> round(CtoD_3d(1,2*pi,pi), digits = 5)
[1] 0 0 -1
#関数DtoC_3d(x座標,y座標,z座標)={半径,角度φ,角度θ}
DtoC_3d<-function(Xax,Yax,Zax)return(c(sqrt(Xax^2+Yax^2+Zax^2),-1*(atan2(Xax,Yax)-pi/2),acos(Zax/sqrt(Xax^2+Yax^2+Zax^2))))
#座標(0,0,r)は対蹠なので半径r,角度θ=0と定まる。
#実は角度φは定まらない(ある種の極限状態)。
>round(DtoC_3d(0,0,1), digits = 5)
[1] 1.0000 1.5708 0.0000
#Z座標cos(π/4)の断面上では半径r,角度θ=cos(π/4)と定まる。
#角度φは平面上での検出通り。
> round(DtoC_3d(cos(pi/4),0,cos(pi/4)), digits = 5)
[1] 1.0000 0.0000 0.7854
> round(DtoC_3d(0,cos(pi/4),cos(pi/4)), digits = 5)
[1] 1.0000 1.5708 0.7854
> round(DtoC_3d(-cos(pi/4),0,cos(pi/4)), digits = 5)
[1] 1.00000 3.14159 0.78540
> round(DtoC_3d(0,-cos(pi/4),cos(pi/4)), digits = 5)
[1] 1.0000 -1.5708 0.7854
#Z座標0の断面上では半径r,角度θ=π/2と定まる。
#角度φは平面上での検出通り。
> round(DtoC_3d(1,0,0), digits = 5)
[1] 1.0000 0.0000 1.5708
> round(DtoC_3d(0,1,0), digits = 5)
[1] 1.0000 1.5708 1.5708
> round(DtoC_3d(-1,0,0), digits = 5)
[1] 1.00000 3.14159 1.57080
> round(DtoC_3d(0,-1,0), digits = 5)
[1] 1.0000 -1.5708 1.5708
> round(DtoC_3d(0,0,1), digits = 5)
#Z座標-cos(1/4π)の断面上では半径r,角度θ=-cos(1/4π)と定まる。
#角度φは平面上での検出通り。
> pi*3/4
[1] 2.356194
> round(DtoC_3d(cos(pi/4),0,-cos(pi/4)), digits = 5)
[1] 1.00000 0.00000 2.35619
> round(DtoC_3d(0,cos(pi/4),-cos(pi/4)), digits = 5)
[1] 1.00000 1.57080 2.35619
> round(DtoC_3d(-cos(pi/4),0,-cos(pi/4)), digits = 5)
[1] 1.00000 3.14159 2.35619
> round(DtoC_3d(0,cos(pi*3/4),-cos(pi/4)), digits = 5)
[1] 1.00000 -1.57080 2.35619
#座標(0,0,-r)も対蹠なので半径r,角度θ=πと定まる。
#角度φは定まらない(ある種の極限状態)
>round(DtoC_3d(0,0,-1), digits = 5)
[1] 1.00000 1.57080 3.14159
原始デカルト座標系概念に拘束された我々には中々イメージし難いものがあるのですが、数理的にはここでZ軸に対して行っている操作を再帰的に無限に繰り返す事で以降の次元拡張にも何とか耐えられそうに見えます。かかる概念を位相空間研究の一環として「平面R^2の上の2点P1 (x1, y1),P2(x2, y2) の間の距離計算」なる概念に統合しようとしているのが距離函数(Distance Function)なる分野で、ここで挙げた距離導出数式sqrt(x^2+y^2+z^2+…)もユークリッド距離d(p1,p2):=sqrt((x1-x2)^2+(y1-y2)^2)といった定義で取り込まれていたりします。
距離空間 - Wikipedia
- 「無限に繰り返せそう」…実はこの感覚「ハミルトンの四元数(Hamilton's Quaternion)」において「一対の対蹠間を円弧上の1点を経て結ぶ経路(タレスの定理により直角に1回曲がる事になる)」を「一対の対蹠間を球表面上の2点を経て結ぶ経路(今度は直角に2回曲がる事になる)」に拡張する際の「反対側の対蹠に到達する最後の点までの進路をある種の内積(Inner Product)の再帰的合成の繰り返しによって処理していくプロセス」とも印象が重なる側面があったりする。ただし私は(四元数の次に安定した状態で把握される)八元数(Octonion)の世界は全く知らないので、この方面については「そう思える」以上の事は何も言えない。
【Rで球面幾何学】ハミルトンの四元数は何を表しているのか?
【Rで球面幾何学】そもそも「内積」とは「外積」とは何か?
「統合」といってるくらいですから、マンハッタン距離(Manhattan Distance)d(p1,p2):=abs(x1-x2)+abs(y1-y2)やチェビシェフ距離(Chebyshev distance)d(p1,p2):=max(abs(p1-p2)などについても並列的に触れられており、演算結果は当然それぞれ異なります。そう、有理数(Rational number)=比率、すなわちa*bやa/bの形で表せる数」は、この意味合いにおいて(より定義が厳密な自然数や整数と異なり)出力結果に不安定要素を抱えているのです。
マンハッタン距離 -Wikipedia
チェビシェフ距離 -Wikipedi
そもそも直積(Product)の概念自体に射影(Projiection)上のルール次第のところがあるので、当然といえば当然の結果。こうして全体像を俯瞰してみると、そもそも(上で挙げた三角関数に加え、円周率やネイピア数の様に元来は多次元的広がりを有する)有理数(Rational Number)から比率(特定の場合の演算結果)だけ取り出して1次元の数直線上に固定値として配置し(その定義上、真の意味で多次元的広がりをを備えてない)自然数や整数の同類と規定する一方、同じ様に「比率で表せない数」に「無理数(Irrational Number)」のレッテルを貼って連続性を認めずにきた歴史の無謀さが偲ばれるのです。とりあえず今回はここまで…