14

二重数の解析学考えてみた!!

2010
2

はじめに

今回は, 二重数について考えていきます。二重数というのは, いわば複素数の兄弟のような数で, 自動微分などの考え方がプログラミングに応用されています。今日は, そんな数で微分積分やゼータ関数を考えてみましょう!

今回はあくまで研究成果を書くだけなので, 厳密な証明を省く場合が多々あります。後々記事にはするつもりですので悪しからず。
また, 研究段階なので「あれ?これで終わり」となることが多々あります
(´;ω;`) <研究することが多すぎる…

二重数とは

二重数とはε2=0(ε0)という数のことです。複素数と同じように計算できるのでちょっとやってみましょう。
(a+εb)+(c+εd)=(a+c)+ε(b+d)
(a+εb)(c+εd)=(ac)+ε(bd)
(a+εb)(c+εd)=ac+ε(bc+ad)
a+εbc+εd=ac+εbcadc2

上の式にc=0を代入したらわかりますが, 純二重数は逆元を持ちません。
そのため, 除法には細心の注意を払う必要があります。
また, 重要な性質として, 以下のように微分できることが挙げられます。

二重数による自動微分

多項式P(x)に対して
P(a+εb)=P(a)+εbP(a)

これは, 展開すればすぐにわかります。
P(x):=c0+a1x+c2x2+c3x3+...+cnxn
とすると,
(a+εb)k=ak+kak1εb+kC2ak2ε2b2+kC3ak3ε3b3+...

3項目以降にはε2が入っているので0になり
(a+εb)k=ak+εkak1b
P(a+εb)=c0+c1(a+εb)+c2(a+εb)2+...+cn(a+εb)n
     =c0+c1(a+εb)+c2(a2+ε2ab)+...+cn(an+εnan1b)
     =(c0+c1a+c2a2+...+cnan)+εb(c1+c22a+...+cnnan1)
     =P(a)+εbP(a)
となります。

無限次の場合に適応していいのかについては議論すべきかもしれませんが, とりあえず一般の関数にも適用させてみます。すると
sin(a+εb)=sin(a)+εbcos(a)
cos(a+εb)=cos(a)εbsin(a)
tan(a+εb)=tan(a)εbcos2(a)

exp(a+εb)=exp(a)(1+εb)
log(a+εb)=log(a)+εba
であることがわかります。
では, 微分について考えてみましょう!

二重数関数の微分

二重数関数の微分

要訂正箇所です。無視してください
x,yR, u(x,y),v(x,y)を実関数とする
f(z)=f(x+εy:=u(x,y)+εv(x,y)と表せるとき, f(z)を二重数関数といい, 微分は
df(z)dz:=limσ0limτ0f(z+σ+ετ)f(z)σ+ετ=limσ0limτ0(f(z+σ+ετ)f(z))(σ+ετ)σ2
となる。

(※二重数の性質上, 極限をとるのが難しかったので, 実数の極限でお茶を濁しています)
「まあ, そうだよね」としか言いようがない定義ですね。
複素関数のときと全く同じです。しかし!次の定理で「二重数すげぇ!」ってなるはずです。

正則関数の定式化

正則関数(微分可能な二重数関数)はすべてこのように表せる。
f(x+εy)=φ(x)+ε(yφ(x)+ψ(x))
ただし, φ,ψは実一変数関数

(概略)

limh0f(z+h)f(z)h
limh0f(z+h+εh)f(z)h+εh
を比較することによって, コーシー・リーマンの方程式の類似
uy=0,ux=vy
が得られます。そこから代入して色々すると元の式が得られます。

また, このことからC1級関数fの, RからR[ε]への拡張は, f(x+εy)=f(x)+εyf(x)ただ一つであるとわかります。
(ψ(x)=0でないと定義域が実数なのに値域が二重数になるから)
そして, そこから複素数と同様にコーシーの積分定理が得られます。

二重数での積分

コーシーの積分定理(二重数ver)

f(z)を正則関数, Cをジョルダン曲線とする。
Cf(z)dz=0

Cf(z)dz=ab(φ+ε(yφ+ψ))(x+εy)dt
       =ab(φx+ε(yφx+ψx+φy))dt
       =ab(x(φ(x)+εψ(x))dt+εab(yφx+yφ)dt
第一項はCは閉曲線なので, x(a)=x(b),y(a)=y(b)となり,
ab(x(φ(x(t))+εψ(x(t)))dt=x(a)x(a)(φ(x)+εψ(x))dx=0
第二項は積の微分公式より,
ddt(y(t)φ(x(t)))=y(t)φ(x(t))+y(t)ddtφ(x(t))
        =y(t)φ(x(t))+y(t)x(t)φ(x(t))
よって
εab(yφx+yφ)dt=ε[y(t)φ(x(t))]ab
           =ε(y(b)φ(x(b))y(a)φ(x(a)))
           =ε(y(a)φ(x(a))y(a)φ(x(a)))
           =0
Cf(z)dz=0

さて, これでコーシーの積分定理が示せたので, コーシーの積分公式(やグルサの定理)に...と言いたいところですが, ここで二重数の厄介な性質が浮き彫りになります。
それは有限個の点を除いて正則な関数が作れないという性質です。
例えば, f(z)=1zという関数を考えてみます。
するとこの関数はz=0だけでなく, z=913εz=πε,z=114514334εなどで発散してしまいます。これでは周回積分ができません。
ここでやめたらいいね貰えないので何か別の方法を考えましょう。

あ!複素数って便利じゃん!!

そう, 複素数なら積分がすごいやりやすいのです。
なのでここからはR[ε]上の線積分ではなくC[ε]上の面積分を考えます。
まず手始めにΓk={eiθ+εk|0θ<2π}上でf(z)=1zを線積分します。
するとΓkdzz=02πieiθeiθ+εkdθ=i02π(1εkeiθ)dθ=2iπ
となり, 普通に複素積分したときと同じようになります。
つまり, 純二重数はある意味で0と同じように考えられそうだとわかります。
では, 今度は円柱の側面D={eiθ+εt|0θ<2π,at<b}で面積分してみます。
Ddzz=ab02πieiθεeiθ+εtdθdt=εab(02πieiθeiθ+εtdθ)dt=2iπε(ba)
となります。また, ここから応用してグルサの定理も導けます

二重数のグルサの定理(円柱)

Df(z)(zα)n+1dz=2iπε(ba)n!f(n)(α)
ただしD={eiθ+εt+α|0θ<2π,atb}

が...これって面積分の定義から考えたら当たり前なんですよね。
積分する領域が円柱形だから複素積分の結果にε(ba)をかけてあげればいいだけですので。
しかし, 残念ながらこれ以上書けるような一般論が見つかっていないので, 積分の話はここまでです。(トーラスでの積分も考えましたがめんどくさいのでまたの機会に)
次は, この二重数を拡張してみましょう!!!

多重数

ここまでは2乗して0になる数を考えていましたが, n乗して0になる数を考えてみましょう。

n重数

εnn=0
ただし, εn,εn2,...,εnn1は0でなく, 線形独立であるとする。

性質

  • R[εn]R[X]/(Xn)
  • AR[εn]AR[εd] (d|n)
  • f(a+εnb)=k=0nf(k)(a)k!εnkbk

3番目から伝わると思いますが, それなりにいい感じの性質を二重数から受け継いでいます。
n重数が与えられると, 今度は整数に二重数と三重数(みえじゃないよ)を添加した環など, 2種類以上のn重数を添加したものを考えたくなりますよね。
しかし, ここで一つ問題が出てきます。
εnmm=kεnとしてよいのかという問題です。確かに両辺の数はn乗して初めて0になる数です。だからといって, 同一視しても良いものでしょうか...
じゃあもう同一視するものとしないもの, 二種類作っちゃいましょう!!

離散多重数

Rの離散多重数環εN(R)とは
εN(R):=R[ε2,ε3,...,εn,...]
である。ただし, 任意のnに対してεnR[ε2,ε3,...,εn1,εn+1,...]
また,
α=iεi
とするとき, αの次数を
deg(α)=i1iと定義する。

連続多重数

nN,0<x<1,0<y<1とするε(1n):=εn,ε(x)ε(y)=ε(x+y)
を添加した環
εQ(R):=R[ε(q1),ε(q2),ε(q3),...]   (qkQ,0<qk<1)Rの連続多重数と定義する。

ε(1n)のように逆数をとっているのは, 01n乗感を出させて, 指数法則もどきを違和感なく採用できるようにするためです。また, ε(deg(α))=αとなっていろいろ都合がいいです。連続多重数の基底は有理数なため稠密性があり, それをどう使っていくかが今後の課題です。
では最後にゼータ関数の話をしましょう!!

ゼータ関数

デデキント・ゼータ関数

Kを環とする。KのイデアルMのノルムN(M)=|K/M|とするとき
ζK(s):=MSpec(OK)11N(M)s

K=Q[ε]とすると
OK=Z+εQ
Qが入っているから体だろ!と思われますが, 計算してみると除法に閉じていないことがわかります。
Spec(OK)={(p)|p}
となるためζQ[ε](s)=ζ(s)となります。
これでは少々味気ないですね。少々定義を改良してみましょう!

ここから下の話題は不十分です!!
うまく訂正でき次第投稿します

どろぉどのζ関数

εx1,εx2,...,εxnを離散多重数とする。

ζ(εx1,εx2,...,εxn;s):=pSpec(Z[εx1,εx2,...,εxn])11N(p)s

ζ(εn;s)=k=1nζ(ks)

(n=2のみ)

Z[ε]のイデアルをIとし, a+εbI, x+εyZ[ε]とすると
(a+εb)(x+εy)=ax+ε(ay+bx)I
I=mnZ+εnZ  (m,nN)
と表せる。よって
ζ(ε2;s)=I1N(I)s=(m,n)N21(mn2)s=m=11msn=11n2s=ζ(s)ζ(2s)

もしかしたら, このゼータ関数の性質が分かればリーマンゼータ関数もわかるかも...?
では, 添加する数を増やしたらどうなるのでしょうか。
2個の場合は...

ζ(εa,εb;s)=1na1mbζ(nms)

となります。複数個の場合でも同様のことが言えそうですね。

今後の研究内容

  • 二重複素積分における留数
  • トーラスの表面上での二重複素積分
  • 二重四元数
  • どろぉどのζ関数の一般論(連続多重数の場合など)
  • 多重数の行列表現
    とくに, 二重四元数に関しては, 元々あった成果が実はミスだと判明した結果, 完全に手つかずなので何とかしたいです。

あとがき

色々と粗雑でしたが何とか終わりました(怪しい部分は指摘してください)。にしても勝手に自分の名を冠した関数を作ってもよかったのだろうか...
それにしても前半に比べて後半が手抜き過ぎるな
この記事を読んで少しでも二重数に興味をもったなら, この未開の地に踏み込んでみてください!!!

いいねお願いします!!!

投稿日:20231224
更新日:313
OptHub AI Competition

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。
バッチを贈って投稿者を応援しよう

バッチを贈ると投稿者に現金やAmazonのギフトカードが還元されます。

投稿者

かくことは あれども筆は 進まぬか コマンド打つのが 割とめんどい

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中
  1. はじめに
  2. 二重数とは
  3. 二重数関数の微分
  4. 二重数での積分
  5. 多重数
  6. ゼータ関数
  7. 今後の研究内容
  8. あとがき