今回も関数の基本概念(Function Basic Concept)そのものからの再出発となります。最近ずっとこの辺りを堂々巡りしています。よっぽど基礎が出来てなかったとしか思えません。
【Python演算処理】冪算と乗除算の関係について。
二つの数の集合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)のグラフである。
#全準同型(Epimorphism)と群同型(Group Isomorphism)
かかる関数概念は、これを群演算(Group Operation)に採用した群論(Group Theory)における準同型(Homomorphism)・同型(Isomorphism)の定義にも関わってくるのです。
- ここで独立変数集合(Independent Variable Set)Xに含まれる任意のxに対して演算f(x)の結果集合(Operation Result Set)=従属変数集合(Dependent Variable Set)Yに含まれるただ一つのyが定まるものとする。
X_n{\begin{pmatrix}x_1\\x_2\\x_3\\\vdots\\x_n\end{pmatrix}}
→f(X_n){\begin{pmatrix}f(x_1)\\f(x_2)\\f(x_3)\\\vdots\\f(x_n)\end{pmatrix}}
→Y_n{\begin{pmatrix}y_1\\y_2\\y_3\\\vdots\\y_n\end{pmatrix}}\\
f(\forall x)=\exists! y (x \in X,y \in Y \land X,Y \in \mathbb{C})
- かかる演算操作(Operation)を射映(Projection)といい、従属変数集合Yは独立変数集合Xの写像(Map)と呼ばれ、かつ後者と前者は準同型(Homomorphism)の関係にあるとされる。さらにxとyの関係を入れ替えた逆演算(Inverse Operation)x=f(y)も成立する時、二つの集合の間に独立変数集合と従属変数集合の関係が入れ替え可能な一対一対応が生じるが、この状態を全準同型(Surjective Homomorphism, Epimorphism)、その条件を満たさない場合を単準同型(Injective Homomorphism, Monomorphism)と呼び分ける。
X_n{\begin{pmatrix}x_1\\x_2\\x_3\\\vdots\\x_n\end{pmatrix}}
→f(X_n){\begin{pmatrix}f(x_1)\\f(x_2)\\f(x_3)\\\vdots\\f(x_n)\end{pmatrix}}
→Y_n{\begin{pmatrix}y_1\\y_2\\y_3\\\vdots\\y_n\end{pmatrix}}\\
かつ\\
Y_n{\begin{pmatrix}y_1\\y_2\\y_3\\\vdots\\y_n\end{pmatrix}}
→f(Y_n)^{-1}{\begin{pmatrix}f(y_1)^{-1}\\f(y_2)^{-1}\\f(y_3)^{-1}\\\vdots\\f(y_n)^{-1}\end{pmatrix}}
→X_n{\begin{pmatrix}x_1\\x_2\\x_3\\\vdots\\x_n\end{pmatrix}}\\
f(\forall x)=\exists! y \land f(\forall y)=\exists! x(x \in X,y \in Y \land X,Y \in \mathbb{C})
ちなみに
- 単位元0で加減算に立脚する加法群Aの逆演算は反数-A
- 単位元1で乗除算に立脚する乗法群Aの逆演算は逆数$\frac{1}{A}$
- 単位元1で冪乗算に立脚する乗法群$A^{x}$の逆演算は冪乗$A^{-x}$
- 単位元Aで冪乗算に立脚する乗法群$A^{x}$の逆演算は冪根$A^{\frac{1}{x}}$
- さらに群同型(Group Isomorphism=全単射/双射=Bijective Function, Bijection可能)が成立する為には、集合Aの任意の元a($\forall a \in A$)について$a_n$を定義域とする群演算y=f(x)の値域$a_m$を定義域とする逆演算y=f(x)^{-1}の値域が$a_n$となるのに加え、元aと逆元$a^{-1}、逆元$a^{-1}$と元aの演算結果がどちらも単位元(Identity Element)Iとならねばならない(元aと逆元$a^{-1}$と単位元Iが全て集合Aに包含されるのと同値)。
A_n{\begin{pmatrix}a_1\\a_2\\a_3\\\vdots\\a_n\end{pmatrix}}
→f(A_n){\begin{pmatrix}f(a_1)\\f(a_2)\\f(a_3)\\\vdots\\f(a_n)\end{pmatrix}}
→A_m{\begin{pmatrix}a_1\\a_2\\a_3\\\vdots\\a_m\end{pmatrix}}\\
かつ\\
A_m{\begin{pmatrix}a_1\\a_2\\a_3\\\vdots\\a_m\end{pmatrix}}
→f(A_m)^{-1}{\begin{pmatrix}f(a_1)^{-1}\\f(a_2)^{-1}\\f(a_3)^{-1}\\\vdots\\f(a_m)^{-1}\end{pmatrix}}
→A_n{\begin{pmatrix}a_1\\a_2\\a_3\\\vdots\\a_n\end{pmatrix}}\\
ただしm=n\\
f(\forall x)=\exists! y \land f(\forall y)=\exists! x(x \in X,y \in Y \land X,Y \in \mathbb{C})\\
\forall a\exists! a^{-1} \land a*a^{-1}=a^{-1}*a=I(a,a^{-1} \in A)
- そもそも群(Group)の原義は自己同型(Automorphism)の集合であり、n=mはそれが成立する上での必須規約となっており、この事は群演算でいう直積(Direct Product)n項×n項×…概念、線形代数でいう正方行列(Square Matrix)n行×n列×…概念に対応する。
{\displaystyle {\begin{bmatrix}a_{11}&a_{12}&\cdots &a_{1n}\\a_{21}&a_{22}&\cdots &a_{2n}\\\vdots &\vdots &\ddots &\vdots \\a_{n1}&a_{n2}&\cdots &a_{nn}\end{bmatrix}}}
集合Gとその上の二項演算μ:G×G→Gの組(G, μ)が群となる3条件:
①結合法則(Associative law)。
{\displaystyle (\forall g,h,k\in G)[\mu (g,\mu (h,k))=\mu (\mu (g,h),k)].}
②単位元eが一意に定まる。
{\displaystyle (\exists e\in G)(\forall g\in G)[\mu (g,e)=\mu (e,g)=g].}
③元xに対する逆元gが(群演算ごとに)一意に定まる。
{\displaystyle (\forall g\in G)(\exists x\in G)[\mu (g,x)=\mu (x,g)=e].}
さらにアーベル群(可換群)となる条件:
④交換法則(Commutative Law)。
μ(g, h) = μ(h, g)
交換法則(Commutative Law)の成立条件。
交換法則は、例えば関数$Y=a^x$において対称式X=Y(a=1)か対称式XY=1(a=-1)になる場合に成立します。
X=Yの場合…y=x,-y=-xのなす平面がy=-x,-y=xのなす平面と直交します。
#Inverse_Proportional_Function
%matplotlib nbagg
import math as m
import cmath as c
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.animation as animation
#反比例データ作成
X=np.linspace(-5,5,41,endpoint = True)
#グラフ表示
plt.style.use('default')
fig = plt.figure()
ax = Axes3D(fig)
#関数定義
def Inverse_Proportional_Function(n):
plt.cla()
#比例曲線描画(0度)
ax.plot(X,X,X,color="blue",lw=1)
for num in range(len(X)):
ax.plot([0,X[num]],[0,X[num]],[X[num],X[num]],color="gray",lw=0.5)
#比例曲線描画(180度)
ax.plot(-X,-X,X,color="red",lw=1)
for num in range(len(X)):
ax.plot([0,-X[num]],[0,-X[num]],[X[num],X[num]],color="gray",lw=0.5)
#比例曲線描画(90度)
ax.plot(X,-X,X,color="green",lw=1)
for num in range(len(X)):
ax.plot([0,X[num]],[0,-X[num]],[X[num],X[num]],color="gray",lw=0.5)
#比例曲線描画(-90度)
ax.plot(-X,X,X,color="green",lw=1)
for num in range(len(X)):
ax.plot([0,-X[num]],[0,X[num]],[X[num],X[num]],color="gray",lw=0.5)
#軸線追加
ax.plot([-10,10],[0,0],[0,0],color="black",lw=1)
ax.plot([0,0],[-10,10],[0,0],color="black",lw=1)
ax.plot([0,0],[0,0],[-10,10],color="black",lw=1)
#諸元追加
ax.set_ylim([-5,5])
ax.set_xlim([-5,5])
ax.set_zlim([-5,5])
ax.set_title("Unit Cylinder")
ax.set_xlabel("X")
ax.set_ylabel("X")
ax.set_zlabel("X")
# グラフを回転
ax.view_init(elev=45, azim=Time_code[n])
Time_code0=np.arange(0,360,6)
Time_code=Time_code0[::-1]
#Inverse_Proportional_Function(59)
#plt.show()
#xy=1=14
#-xy=1=44
#exp(X)=29
#-exp(X)=59
ani = animation.FuncAnimation(fig, Inverse_Proportional_Function, interval=50,frames=len(Time_code))
ani.save("PF003.gif", writer="pillow")
垂直軸に沿って眺めるとこう見えます。
水平軸に沿って眺めるとこう見えます。
全体として円錐を構成してますね。
%matplotlib nbagg
import math as m
import cmath as c
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.animation as animation
#円柱データ作成
c0=np.linspace(0,m.pi*120,1201,endpoint = True)
s0=[]
for nm in range(len(c0)):
s0.append(complex(m.cos(c0[nm]),m.sin(c0[nm])))
s1=np.array(s0)
z0=np.linspace(-1,1,1201,endpoint = True)
#「曲率」を計算
cv1=np.linspace(-1,1,1201,endpoint = True)
#cv1=num.sqrt(1-cv0**2)
#断面線(z)
cutz0=np.linspace(-1,1,61,endpoint = True)
cutz=cutz0[::-1]
cutx=np.abs(cutz)
cuty=np.repeat(0,61)
#単位円データ作成
u0=np.linspace(0,m.pi*2,61,endpoint = True)
u1=[]
for nm in range(len(u0)):
u1.append(complex(m.cos(u0[nm]),m.sin(u0[nm])))
uc=np.array(u1)
uz0=np.repeat(-1,61)
uz1=np.repeat(-0,61)
uz2=np.repeat(1,61)
#グラフ表示
plt.style.use('default')
fig = plt.figure()
ax = Axes3D(fig)
#関数定義
def unit_cylinder(n):
plt.cla()
#円柱描画
ax.plot(s1.real*cv1,s1.imag*cv1,z0,color="gray",lw=0.5)
#スポーク描画
for num in range(len(uc)):
ax.plot([0,uc[num].real],[0,uc[num].imag],[0,0],color="purple",lw=0.5)
#単位円描画
ax.plot(uc.real,uc.imag,uz0,color="red",lw=1)
ax.plot(uc.real,uc.imag,uz1,color="purple",lw=1)
ax.plot(uc.real,uc.imag,uz2,color="blue",lw=1)
#実数線追加
ax.plot([0,0],[0,0],[-1,1],color="black",lw=1)
ax.plot([0,0],[-1,1],[0,0],color="black",lw=1)
ax.plot([-1,1],[0,0],[0,0],color="black",lw=1)
ax.plot([-1,1],[0,0],[-1,1],color="blue",lw=1)
ax.plot([1,-1],[0,0],[-1,1],color="red",lw=1)
ax.plot([0,0],[-1,1],[-1,1],color="green",lw=1)
ax.plot([0,0],[1,-1],[-1,1],color="green",lw=1)
#諸元追加
ax.set_ylim([-1.1,1.1])
ax.set_xlim([-1.1,1.1])
ax.set_zlim([-1.1,1.1])
ax.set_title("Unit Cylinder")
ax.set_xlabel("X")
ax.set_ylabel("X")
ax.set_zlabel("X")
# グラフを回転(elev=0にすると水平表示に)
ax.view_init(elev=25, azim=Time_code[n])
Time_code0=np.arange(0,360,6)
Time_code=Time_code0[::-1]
#unit_cylinder(len(s1))
#plt.show()
ani = animation.FuncAnimation(fig, unit_cylinder, interval=50,frames=len(Time_code))
ani.save("PF101.gif", writer="pillow")
自然指数関数y=exp(x)と反比例関数xy=1の関係…こちらも完全に対称式の枠内で展開。
xy=1=e^0=e^{p-p}(0<p<∞)=e^p e^{-p}(0<p<∞)
#Inverse_Proportional_Function
%matplotlib nbagg
import math as m
import cmath as c
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.animation as animation
#反比例データ作成
Z=np.linspace(-2,2,41,endpoint = True)
X1=np.exp(Z)
X2=np.exp(-Z)
#グラフ表示
plt.style.use('default')
fig = plt.figure()
ax = Axes3D(fig)
#関数定義
def Inverse_Proportional_Function(n):
plt.cla()
#反比例曲線描画
ax.plot(X1,X2,Z,color="blue",lw=1)
# ax.plot(X2,X1,Z,color="red",lw=1)
for num in range(len(Z)):
ax.plot([0,X1[num]],[0,X2[num]],[Z[num],Z[num]],color="gray",lw=0.5)
#軸線追加
ax.plot([-10,10],[0,0],[0,0],color="black",lw=1)
ax.plot([0,0],[-10,10],[0,0],color="black",lw=1)
ax.plot([0,0],[0,0],[-10,10],color="black",lw=1)
#諸元追加
ax.set_ylim([-5,5])
ax.set_xlim([-5,5])
ax.set_zlim([-5,5])
ax.set_title("Unit Cylinder")
ax.set_xlabel("exp(X)")
ax.set_ylabel("exp(-X)")
ax.set_zlabel("X")
# グラフを回転
ax.view_init(elev=45, azim=Time_code[n])
Time_code0=np.arange(0,360,6)
Time_code=Time_code0[::-1]
#Inverse_Proportional_Function(44)
#plt.show()
#exp(X)=14
#-exp(X)=44
#exp(-X)=29
#-exp(-X)=59
ani = animation.FuncAnimation(fig, Inverse_Proportional_Function, interval=50,frames=len(Time_code))
ani.save("IPF003.gif", writer="pillow")
垂直軸に沿って眺めると反比例関数xy=1のグラフが回転しています。
水平軸に沿って眺めるとこう見えます。
X軸
exp(X)…exp(-X)と直交
exp(X)(逆位相)…exp(-X)(逆位相)と直交
Y軸
exp(-X)…exp(X)と直交
exp(-X)(逆位相)…exp(X)(逆位相)と直交
自然対数関数y=log(x)と反比例関数xy=1の関係…自然対数関数y=log(x)の中身は自然指数関数y=exp(x)のxy逆転、すなわちx=exp(y)に他なりませんが、xy=1はexp(x)とexp(-x)の直積の結果なので以下の2通りの展開が存在するのです。いずれにせよどちらの展開も対称式の条件は満たしません。
#Inverse_Proportional_Function
%matplotlib nbagg
import math as m
import cmath as c
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.animation as animation
#反比例データ作成
Z=np.linspace(-2,2,41,endpoint = True)
X1=np.exp(Z)
X2=np.exp(-Z)
#グラフ表示
plt.style.use('default')
fig = plt.figure()
ax = Axes3D(fig)
#関数定義
def Inverse_Proportional_Function(n):
plt.cla()
#反比例曲線描画
ax.plot(X1,Z,X2,color="blue",lw=1)
for num in range(len(Z)):
ax.plot([0,X1[num]],[0,Z[num]],[X2[num],X2[num]],color="gray",lw=0.5)
#軸線追加
ax.plot([-10,10],[0,0],[0,0],color="black",lw=1)
ax.plot([0,0],[-10,10],[0,0],color="black",lw=1)
ax.plot([0,0],[0,0],[-10,10],color="black",lw=1)
#諸元追加
ax.set_ylim([-5,5])
ax.set_xlim([-5,5])
ax.set_zlim([-5,5])
ax.set_title("Unit Cylinder")
ax.set_xlabel("exp(X)")
ax.set_ylabel("X")
ax.set_zlabel("exp(-X)")
# グラフを回転
ax.view_init(elev=0, azim=Time_code[n])
Time_code0=np.arange(0,360,6)
Time_code=Time_code0[::-1]
#Inverse_Proportional_Function(59)
#plt.show()
#xy=1=14
#-xy=1=44
#exp(X)=29
#-exp(X)=59
ani = animation.FuncAnimation(fig, Inverse_Proportional_Function, interval=50,frames=len(Time_code))
ani.save("IPF203.gif", writer="pillow")
垂直軸に沿って眺めるとx=exp(y)すなわちy=log(x)が回転しています。
水平軸に沿って眺めるとこう見えます。
X軸
xy=1…x=exp(-y)と直交
xy=1(逆位相)…x=exp(-y)(逆位相)と直交
Y軸
x=exp(-y)(逆位相)…1/X(逆位相)と直交
x=exp(-y)…xy=1と直交
#Inverse_Proportional_Function
%matplotlib nbagg
import math as m
import cmath as c
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.animation as animation
#反比例データ作成
Z=np.linspace(-2,2,41,endpoint = True)
X1=np.exp(Z)
X2=np.exp(-Z)
#グラフ表示
plt.style.use('default')
fig = plt.figure()
ax = Axes3D(fig)
#関数定義
def Inverse_Proportional_Function(n):
plt.cla()
#反比例曲線描画
ax.plot(Z,X2,X1,color="blue",lw=1)
for num in range(len(Z)):
ax.plot([0,Z[num]],[0,X2[num]],[X1[num],X1[num]],color="gray",lw=0.5)
#軸線追加
ax.plot([-10,10],[0,0],[0,0],color="black",lw=1)
ax.plot([0,0],[-10,10],[0,0],color="black",lw=1)
ax.plot([0,0],[0,0],[-10,10],color="black",lw=1)
#諸元追加
ax.set_ylim([-5,5])
ax.set_xlim([-5,5])
ax.set_zlim([-5,5])
ax.set_title("Unit Cylinder")
ax.set_xlabel("X")
ax.set_ylabel("exp(-X)")
ax.set_zlabel("exp(X)")
# グラフを回転
ax.view_init(elev=0, azim=Time_code[n])
Time_code0=np.arange(0,360,6)
Time_code=Time_code0[::-1]
#Inverse_Proportional_Function(59)
#plt.show()
#xy=1=14
#-xy=1=44
#exp(X)=29
#-exp(X)=59
ani = animation.FuncAnimation(fig, Inverse_Proportional_Function, interval=50,frames=len(Time_code))
ani.save("IPF303.gif", writer="pillow")
垂直軸に沿って眺めるとx=exp(-y)が回転しています。
水平軸に沿って眺めるとこう見えます。
X軸
log(x)…1/xと直交
log(x)(逆位相)…1/X(逆位相)と直交
Y軸
1/X(逆位相)…log(x)(逆位相)と直交
- 以前からどうして対数尺(Logarithmic Scale)はあるのに指数尺(Exponential scale)**がないのか疑問だったのですが、「指数写像(Exponential Map)の定義域はあくまで均等尺(Even Scale)」「これを均等尺に戻す為に対数写像(Logarithmic Map)の定義域は対数尺である必要がある」が正解で、その由来はかかる座標置換にあった訳です。中高生でも理解出来てる人はちゃんと理解出来てる数理?
【Python演算】オイラーの公式と等比数列④「中学生には難しいが高校生なら気付くレベル」? - で、指数尺といえば思い出すのが「ヴェーバー‐フェヒナーの法則」。この概念自体は「識閾=1を超えてからの認識展開」が対象ですが、ある意味「識閾=1を超えるまでの認識展開」を扱うニューロンコンピューティング(機械学習の始祖)と補完関係にある?
【数理考古学】ヴェーバー‐フェヒナーの法則
もはや対称式の条件は満たしていませんが、全てがZ軸に対して正方向のみの展開となる点に有用性が見受けられます。その一方で間違いなく以下の数理とは深い関係がありそうなのです。
import sympy as sp
sp.var('x')
expr=sp.log(x)
eq1 = sp.Eq(sp.Derivative(expr, x), sp.diff(expr, x))
eq2 = sp.Eq(sp.Integral(1/x, x), sp.integrate(1/x, x))
eq3 = sp.Eq(sp.Integral(expr, x), sp.integrate(expr, x))
eq4 = sp.Eq(sp.Integral(expr, (x, 0, 1)), sp.integrate(expr, (x, 0, 1)))
#eq5 = sp.Eq(sp.Integral(expr, (x, 1, sp.oo)), sp.integrate(expr, (x, 1, sp.oo)))
sp.init_printing()
display(expr)
print(sp.latex(expr))
display(eq1)
print( sp.latex(eq1))
display(eq2)
print( sp.latex(eq2))
display(eq3)
print( sp.latex(eq3))
display(eq4)
print( sp.latex(eq4))
#display(eq5)
#print( sp.latex(eq5))
\frac{d}{d x} \log{\left(x \right)} = \frac{1}{x}\\
\int \frac{1}{x}\, dx = \log{\left(x \right)}\\
\int \log{\left(x \right)}\, dx = x \log{\left(x \right)} - x\\
\int\limits_{0}^{1} \log{\left(x \right)}\, dx = -1\\
\int\limits_{1}^{∞} \log{\left(x \right)}\, dx → 計算終わらず
- log(x)(x=0→1)の定積分は比較的メジャーな問題で、log(x)を不定積分したxlog(x)-x(x=1)を代数的に解いて-1を算出する模様。
【Yahoo知恵袋】logx を0から1で積分することはできるのですか?
xlogxの極限,グラフ,積分など
- ちなみにpythonのnumpyライブラリ(以下np)の場合、自由に底が選べずnp.log(a)(底をeとするaの対数)、np.log2(a)(底を2とするaの対数)、np.log10(a)(底を10とするaの対数)np.log1p(a)(底をeとするa+1の対数)を使い分ける事になる。mathライブラリ(以下m)のm.log(x,a)を使えば底aを自由に指定出来るが、mathライブラリはそもそもリスト処理が出来ない。
【NumPy入門 np.log】np.arrayの対数を計算する関数4つを紹介
【python】numpyで任意の底でlog
#類別(Classification)による互いに排他的関係にある類(Class)の設定
ところで群同型概念と全準同型概念の関係は以下の様に類(Class)の類別(Classification)概念と深く関わってきます。
商群の定義
整数の加法群の剰余類
ある整数pを,整数m(>1)で割ると,ただ一通りに次のように表現する事ができる。
p=km+q
kも整数でこれを整商、qを剰余と呼び「mで割ったときの余り」という点だけに着目してpとqを合同と見做すと「mを法とする」合同式(Congruence Expression)が成立し、例えば10を法とした剰余類G=(0,1,2,3,4,5,6,7,8,9) といった形で整商=剰余の数だけ排他的な類が成立し類別が遂行される(余りが0の類のみが部分集合として成立する)。
類別
p \equiv q \ \ ({\rm mod}.m)
ところで同値関係の定義は以下である。
【Python演算処理】環論に立脚した全体像再構築②同値関係の再習
\sim a (反射律)\\
\sim b \ \Longrightarrow \ b \sim a (対称律)\\
\sim b, b \sim c \ \Longrightarrow \ a \sim c (推移律)
これが合同式にもそのまま当てはまる。
p \equiv p \ ({\rm mod}.m)(反射律)\\
p \equiv q \ ({\rm mod}.m) \ \Longrightarrow \ q \equiv p \ ({\rm mod}.m)(対称律)\\
p \equiv q, \ q \equiv r \ ({\rm mod}.m) \ \Longrightarrow \ p \equiv r \ ({\rm mod}.m)(推移律)
以下の様な二項演算はこの集合全体を商群と呼ばれる群にする。
6を法とする加法群G({\rm mod}.6)=(0,1,2,3,4,5)を考える。\\
その部分群N(0,3)を考える。\\
Gが可換で正規なので剰余類G/Nは以下の3元からなる:\\
G/N = \{aN : a ∈ G\} = \{\{0, 3\}, \{1, 4\}, \{2, 5\}\} = \{0 + N, 1 + N, 2 + N\}.\\
これも群であり、位数3の巡回群と同型である。
群Gとその部分群Hを考え、aをGの元とする。Hに属する全ての元にaを左から作用させたものを 左剰余類aH ,右から作用させたものを 右剰余類Haと表記する(わざわざ区別するのは,一般にaとhの積は非可換だからである)。
aH = \{ah|h \in H \} \\
Ha = \{ha|h \in H \}
単位元eの剰余類は,左剰余類であっても右剰余類であってもH自身となるので,H自身も剰余類となり、Hには単位元も含まれる。またGは群なので演算結果が閉じているのでhaも ahも全てGの元であり、従ってどちらもGの部分集合(部分群ではない)と目される。そして同じ類に属する元は全て同値関係 にあると呼ばれる。
eH=He=H \land e \subset H\\
aH,Ha \subset G
Nを群Gの正規部分群(Normal Subgroup)とすればその正規性により左剰余類と右剰余類が等しくなり($G/N={ aN=Na : a ∈ G}$)、以下の等式が成立する:
正規部分群 - Wikipedia
N\triangleleft G\quad (\iff \forall n\in {N},\,\forall g\in {G},\,gng^{{-1}}\in {N})\\
(aN)(bN) = a(Nb)N = a(bN)N = (ab)NN = (ab)N.
この演算は結合的で、単位元Nを持ち、G/N の元$a^N$の逆元はa^{−1N}となる事が確かめられるので群成立条件が満たされる。この群をGのNによる商群(Quotient Group)G/Nと呼ぶ。
- 例えばn進法(n-ary)ではその一時結合表現に立脚して小数点以上の桁を元、小数点以下の桁を逆元とする事で群を成立させる。
【Python描画処理】ベン図と組み合わせ計算と確率演算
実際にこれまでの投稿で扱ってきた内容と突き合わせて見ましょう。
-
偶関数(Even Function)と奇関数(Odd Function)…奇関数集合は偶関数集合を互いに排他的かつ均等にに存在する元と逆元の2つの類に類別する(次に述べるn進数で、n=2の場合に対応)。
偶関数と奇関数の意味,性質などまとめ:高校数学の美しい物語 -
n進法(n-Ary)…nを法とする剰余類(Cosets)$の直積の線型結合表現(Linear Combination Expression)$l_mn^m+l_{m-1}n^{m-1}…+l_{2}n^2+l_{1}n+l_{0}+l_(-1)n^{-1}+l_{-2}n^{-2}+…$(ただしmは桁数、lは各桁の数字=スカラーで0≦l≦n-1の整数)は、元集合を互いに排他的かつ均等に存在するn×n×n×…個の類に類別する。
【Python描画処理】ベン図と組み合わせ計算と確率演算 - 統計学分野において関数y=f(x)のxに対応する説明変数(Explanatory Variable)とyに対応する目的変数(Response Variable)の関係。離散確率分布(Discrete Probability Distribution)の場合は類が互いに排他的に存在し、連続確率分布(Continuous Probability Distribution)の場合は説明変数xに対応する目的変数y、目的変数yに対する説明変数xの値が一意に定まる。なお関数の形として確率密度関数(PDF=Probability Density Function)と累積分布関数(Cumulative Distribution Function)の2つが存在し、微積分演算によって往復可能である。
【Pyrhon演算処理】確率密度空間と累積分布空間①記述統計との狭間
【Pyrhon演算処理】確率密度空間と累積分布空間②中心極限定理の可視化
まとめると大体以下の2グループに類別される様です。
- 0を加法単位元(Additive Identity)、加減算を群演算とする加法群(Additive Group)、1を乗法単位元(Multiplicative Identity)、乗除冪乗算を群演算とする乗法群(Multiplicative Group)(さらに加法群と乗法群を統合すると環概念(Ring Concept)となる)。
- 集合(Set)$N^0=(0,1,2,3,4,5,6,7,8,9)$を単位元とし、10を法とする剰余算(Remainder)を群演算とした十進群(Decimal Group)(小数点以上に対して小数点以下が逆元として対峙する)、半径(Radius)1、直径(Diameter)2、円周長(Circumferential Length)2πの単位円(Unit Circle)上に元が分布する回転群(Rotation Group)/特殊直交群(Special Orthogonal Group)SO(2)/リー群(Lie Group)$S_1$/一次元トーラス((単数形Torus/複数形Tori))(任意の分岐切断点(Branch Cut Point)を単位元と定め、それより逆時計回りに分布する元と時計回りに分布する逆元を対峙させる)などを代表例とする商群(Quotient Group)。
#円筒形座標系(Cylindrical Coordinate System)による加法群(Additive Group)と乗法群(Multiplicative Group)と商群(Quotient Group)の統合
これらの諸概念をとりあえず仮統合してみたのが、これまでの投稿で用いてきた「垂直軸に0を加法単位元とする加法実数群、水平軸に1を加法単位元とする加法実数群を絶対値とする極座標系(Polar Coordinate System)を配した円筒座標系(Cylindrical Coordinate System)」のイメージとなります。この考え方は水平座標軸を半径1の単位円で取った時、その傾きが垂直座標軸の数値、すなわち実数列(Real Sequence)そのものとなるので、何かと都合が良かったのです。
【Python演算処理】環論に立脚した全体像再構築①空環と実数環
空和概念(Empty Sum Concept)+空積概念(Empty Product Concept)=空環(Empty Ring)
加法空群は乗法空群と群同型であり、従って環として統合可能である。
(\emptyset,+) \cong (\emptyset,×)
①空和概念(Empty Sum Concept)/加法空群(Additive Empty Group)
$\emptyset+\emptyset+\emptyset+…=\emptyset$
②空積概念(Empty Product Concept))/乗法空群(Multiplicative Empty Group)
$a\emptyset=\emptyset,\frac{\emptyset}{a}=\emptyset$
③両者の違いは観測限界(Observation Limit)としての無限遠点∞の設定が点か円弧(Circle)/球面(Shere)かに過ぎず、ある種の指数/対数写像によって往復可能と考える。
指数写像(Exponential Map)
対数写像(Logarithmic Map)
加法群と乗法群の環概念への統合
加法実数群$(\mathbb{R},+)$は、すべての正の実数が乗法についてなす群$(\mathbb {R}^+,×)$に、同型写像$f(x)=e^x(x \in \mathbb{R})$によって同型である:
(\mathbb {R},+) \cong (\mathbb{R}^{+},×)
- 考え方としては、乗法単位元1以上無限未満の正の整数aを元、その逆数$\frac{1}{a}$を逆元$a^{-1}$に取り、両者を含む(閉じた演算として包括する)全体集合として実数列$\mathbb{R}$を採択する。
環概念への商群の統合
加法整数群$(\mathbb {Z},+)$は加法実数群$(\mathbb{R},+)$の部分群であり、商群$\frac{\mathbb{R}}{\mathbb{Z}}$は、同型写像$f(x+\mathbb {Z})=e^{2πxi}(x \in \mathbb{R} \land 0 \leqq x \leqq 2π)$によって絶対値1の乗法複素数群$S^1$に同型である:
\frac{(\mathbb{R},+)}{(\mathbb{Z},+)} \cong S^1
- 考え方としては、全ての元が半径1の単位円の円周上に存在するリー群(Lie Group)$S_1$から出発する。ここでその円の周回数(Rap=正の整数)を元a、分割数(Partition)を逆元$a^{-1}$に取れば$aa^{-1}=a^{-1}a=単位元I(1周)$が成立し、リー群$S_1$を全体集合とする群が成立する訳である(ただし実際に周回数をカウントする為には分枝切断点(Branch Cut Point)概念の導入が欠かせない)。
どうやら環概念は指数写像/対数写像概念と不可分の関係にある様です。一見群論の様な抽象代数学には無縁そうな垂直軸(均等尺が振られた実数列が分布するスカラー空間)における乗除算/冪算が水平軸(対数尺が振られた正数のみが分布する極座標空間)では加減算/掛け算に置き換えられたり、垂直軸における「2」が垂直軸における「半径π」に対応するといった具体的特徴が顔を出すのも、おそらくその為なのでしょう。
【数理考古学】常用対数表を使った計算
高校数学からヤコビアンに至るまで
- 上掲の円筒形座標系イメージをさらに抽象化すると「実数列上の任意の元それぞれを基点(Base Point)と想定する連続極座標系(Continuous Polar Coordinate System)」といったイメージに拡張され得る(偶数系数理と奇数系数理の交互出現とその間隔設定といった具体的特徴はそのまま全て継承されるものと考える)。かかるレールめいた独特の座標系において実数列を直線と解釈して直交する座標軸をどんどん増やすならデカルト座標系(Cartesian Coordinate System)、半径1の単位円と解釈するならリー群$S_2$(二次元トーラス)や$S_3$(四元数)へと発展する。
デカルト座標系あるいは直交座標系における基底ベクトルと位置ベクトル
【Pyrhon演算処理】同心集合①乗法的同心集合とは?
【Python演算処理】パスカルの三角形+虚数=四元数?
と、まぁそれなりの形には纏まってきましたが、実用に耐えるモデルとして鍛え上げるにはまだまだテストの繰り返しが必要です。
【連続極座標系】「冪乗関数の極限」問題と「距離関数」概念の導入による解決
そんな感じで以下続報…