8
高校数学解説
文献あり

OEISにおける"Hankel Transform"について

420
0

こんにちは。Mark6という者です。
皆さんは OEIS (オンライン整数列大辞典)というサイトをご存じでしょうか。

オンライン整数列大辞典は、無料で利用可能な整数列(各項が整数である数列)のオンラインデータベースである。
2018年3月時点で30万を超える整数列の情報が収められており、この種のデータベースとしては最大のものである。( Wikipedia より)

このサイトで数列を検索すると、しばしば下のような記述を目にします。

数列番号A000108(カタラン数)のページ、赤線は筆者 数列番号A000108(カタラン数)のページ、赤線は筆者

このページでは、OEISにおけるThe Hankel transform(以下ハンケル変換)について、定義及び性質を紹介します。
内容は主に参考文献[1][2]の抜粋・翻訳・解説になるので、興味のある方はぜひそちらを読んでください。
予備知識は行列式を仮定します。

用語の混同

一般にHankel transformやハンケル変換といったら、ベッセル関数を用いた積分変換の一種であるハンケル変換、およびそれの派生である(準)離散ハンケル変換を指すことが多いです。この記事ではそれとは異なる、行列式を利用する数列変換を扱います。

定義

ハンケル変換

数列{an}n0に対して、数列{hn}n0を以下の行列式で定める。

hn=|a0a1a2ana1a2a3an+1a2a3a4an+2anan+1an+2a2n|
この数列{hn}を、数列{an}のハンケル変換と呼ぶ。

数列を1-indexedにしたものをハンケル変換ということもあるようです。

例えば、
h0=a0
h1=a0a2a12
h2=a0a2a4a0a32a12a4+2a1a2a3a43
などが分かります。

そもそも、
[abcdbcdecdefdefg]
のような、右上~左下のナナメに値が等しいような行列をハンケル行列というようです(おそらくハンケル変換という名称もそこから来ているのでしょう)。

カタラン数のハンケル変換

カタラン数
Cn=(2n)!n!(n+1)!
のハンケル変換を{an}とすると、
an=1

n01234
Cn112514
an11111

カタラン数は、格子経路の数え上げ等で有名な数列です。
変換先は非常に単純な数列になります。

モンモール数のハンケル変換

モンモール数
Dn=k=0n(1)kn!k!
のハンケル変換を{bn}とすると、
bn=i=0n(i!)2

n01234
Dn10129
bn11414482944

モンモール数は、完全順列(攪乱数列)の個数として定義される数列です。

階乗のハンケル変換

階乗
fn=n!
のハンケル変換を{dn}とすると
dn=i=0n(i!)2

n01234
fn112624
dn11414482944

変換先はモンモール数と同一の数列です。

性質

今までに述べた例だけでもかなりハンケル変換の面白さが感じられたのではないでしょうか。
どうやら、組み合わせ論的な文脈を持つ数列とハンケル変換は相性がよさそうです。
いくつかの性質を列挙します。

対応関係

ハンケル変換の対応関係は、多対一である

モンモール数と階乗のハンケル変換が同じ数列であったことからも分かる通り、複数の数列が同一のハンケル変換を持つことがあります。実際OEISでは、変換先が1,1,1,1,1,という数列になる20ほどの数列が見つかっているそうです[1]。

ここからは、多対一の対応だからこそ存在する「不変性」について述べます。

二項変換

ハンケル変換は二項変換によって不変である

ここでの二項変換とは次の変換のことで、一般的に用いられている対合のアレとは異なります(適当に区別できる用語をご存じの方いらしたらご教示ください...)

二項変換(Binomial Transform)

数列{an}に対して
bn=i=0nnCiai
で定まる数列{bn}を、{an}の二項変換と呼ぶ。

この性質2は、{an}のハンケル変換と、{bn}のハンケル変換が同一の数列である、という主張です。
数式でいうなら、数列{an}のハンケル変換をH(a)、二項変換をB(a)と表すとして
H(B(a))=H(a)
と書けます。
これは非自明な、しかし非常に興味深い性質です。

反転変換

ハンケル変換は反転変換によって不変である

適当な訳語が見当たらなかったので反転変換としましたが、英語ではInvert Transformです。
これはそもそもの定義を探すのに苦労しましたが、どうやら下の式のように形式的冪級数を用いて定義される物のようです[4]。定義内では数列は1-indexedなので、ハンケル変換するときは適当に調整するみたいですが、細かいところは飛ばします。

反転変換(Invert Transform)

数列{an}に対して
1+n=1bnxn=11n=1anxn
で定まる{bn}を、{an}の反転変換と呼ぶ。

項ごとに明示的に書くならこのようになります:

反転変換2(Invert Transform)

数列{an}に対して
bn=i=1nx1++xi=nax1axi
で定まる{bn}を、{an}の反転変換と呼ぶ。
(内側のシグマについてxiN

数式でいうなら、数列{an}のハンケル変換をH(a)、反転変換をI(a)と表すとして
H(I(a))=H(a)
と書けます。
これも非常に興味深い性質です。

定理2については、より強い下の性質も成立します。

k-降下二項変換

ハンケル変換は、k-降下二項変換について不変である

ここで、k1に対しk-降下二項変換とは、参考文献[2]内で触れられた次の変換を指します。

k-降下二項変換(Falling k-Binomial Transform)

数列{an}k1に対して
bn=i=0nnCikniai
で定まる{bn}を、{an}k-降下二項変換と呼ぶ。

iが増えるにしたがってkの肩のniが減少することが「降下」の由来のようです。

数式でいうなら、数列{an}のハンケル変換をH(a)k-降下二項変換をF(a,k)と表すとして
H(F(a,k))=H(a)
と書けます。k=1の場合は定理2と同一の結果です。

降下というからには類似したk-「上昇」二項変換も定義されます。

k-上昇二項変換(Rising k-Binomial Transform)

数列{an}k1に対して
bn=i=0nnCikiai
で定まる{bn}を、{an}k-上昇二項変換と呼ぶ。

しかし、ハンケル変換は上昇二項変換によって不変ではありません。これも興味深いところです。

行列のLU分解との関係

行列のLU分解

正方行列Aを下三角行列Lと上三角行列Uの積として
A=LU
と分解することを、行列のLU分解と呼ぶ。

LU分解の例

A=[567102023156067]
をLU分解すると
A=[100210341][5670890010]

[1]によると、どうやらある数列とその二項変換、反転変換について、LU分解がシンプルな関係式を満たす、ということのようです。
筆者はこれが何を示唆するのかよくわかってません。すみません。

おわりに

どうでしたでしょうか。
ハンケル変換はおそらくマイナーな部類に属すると思うのですが(そもそも類似概念のせいで情報を得にくい)、もしこれをきっかけに興味を持ってくれる方がいたら嬉しいです。
間違っているところや誤解を招くところなどがあったら、時間が許す限り対応するので教えてください。よろしくお願いします。

参考文献

投稿日:2023429
OptHub AI Competition

この記事を高評価した人

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

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

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

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

投稿者

Mark_six
Mark_six
14
1191
数学だけして生きていたいですよね。 わたしはそうです。 あなたはどうですか?

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中
  1. 定義
  2. 性質
  3. 行列のLU分解との関係
  4. おわりに
  5. 参考文献