出典: フリー百科事典『ウィキペディア(Wikipedia)』
| この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "ハイパー演算子" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2017年12月) |
| この記事は 英語版の対応するページを翻訳することにより充実させることができます。(2024年5月)翻訳前に重要な指示を読むには右にある[表示]をクリックしてください。
- 英語版記事を日本語へ機械翻訳したバージョン(Google翻訳)。
- 万が一翻訳の手がかりとして機械翻訳を用いた場合、翻訳者は必ず翻訳元原文を参照して機械翻訳の誤りを訂正し、正確な翻訳にしなければなりません。これが成されていない場合、記事は削除の方針G-3に基づき、削除される可能性があります。
- 信頼性が低いまたは低品質な文章を翻訳しないでください。もし可能ならば、文章を他言語版記事に示された文献で正しいかどうかを確認してください。
- 履歴継承を行うため、要約欄に翻訳元となった記事のページ名・版について記述する必要があります。記述方法については、Wikipedia:翻訳のガイドライン#要約欄への記入を参照ください。
- 翻訳後、
{{翻訳告知|en|Hyperoperation|…}} をノートに追加することもできます。
- Wikipedia:翻訳のガイドラインに、より詳細な翻訳の手順・指針についての説明があります。
|
ハイパー演算子(ハイパーえんざんし、hyper operator)は、加算、乗算、冪乗を一般化した演算のための演算子である。
表記の制約のため、以後丸囲み文字(①,②,③,…)を丸かっこ入り文字 (n) で表すものとする。
加算演算子を上付き(1) (a + b = a (1)b)、乗算演算子を上付き(2) (ab = a (2)b)、冪乗演算子を上付き(3) (ab = a (3)b)で表し、それらを一般の非負整数nに一般化した上付き(n) (a (n) b) がハイパー演算子である。
それらを関数形式で表す hypern、nを変数とした3変数関数 hyper も定義される。hyper1は加算、hyper2は乗算、hyper3は冪乗であり、さらにhyper4はテトレーション (tetration)、hyper5はペンテーション (pentation)、hyper6はヘキセーション (hexation)・・・と呼ばれる。
n = 0~4 の例は次のとおり。
![{\displaystyle {\begin{aligned}\operatorname {hyper0} \left(a,b\right)=\operatorname {hyper} \left(a,0,b\right)=a^{\left(0\right)}b=&b+1\\\operatorname {hyper1} \left(a,b\right)=\operatorname {hyper} \left(a,1,b\right)=a^{\left(1\right)}b=&a+b\\\operatorname {hyper2} \left(a,b\right)=\operatorname {hyper} \left(a,2,b\right)=a^{\left(2\right)}b=&ab=\underbrace {a+{a+{\cdots \cdots \cdots \cdots \cdots \cdots +{a+{a}}}}} _{{\text{長さ}}b}=\int _{0}^{b}a\,db\\\operatorname {hyper3} \left(a,b\right)=\operatorname {hyper} \left(a,3,b\right)=a^{\left(3\right)}b=&a^{b}=a\uparrow b=\underbrace {a\times {a\times {\cdots \cdots \cdots \cdots \cdots \cdots \times {a\times {a}}}}} _{{\text{長さ}}b}\\\operatorname {hyper4} \left(a,b\right)=\operatorname {hyper} \left(a,4,b\right)=a^{\left(4\right)}b=&\,^{b}a=a\uparrow \uparrow b=\underbrace {a^{a^{\cdot ^{\cdot ^{\cdot ^{\cdot ^{\cdot ^{\cdot ^{\cdot ^{\cdot ^{\cdot ^{\cdot ^{\cdot ^{\cdot ^{\cdot ^{\cdot ^{\cdot ^{\cdot ^{\cdot ^{\cdot ^{a^{a}}}}}}}}}}}}}}}}}}}}}} _{{\text{高さ}}b}\end{aligned}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/3102514f8458128c8e07df7c5a43b84adeb70454)
hyper0は、第2被演算子 b の後者関数(第1被演算子 a は無視される)とする。ただし、他の定義を使うこともある。
n > 4 の場合は次のように定める。これは n > 1 の場合全てに成り立つが、n = 1 では成り立たない。
![{\displaystyle \operatorname {hyper} n\left(a,b\right)=\operatorname {hyper} \left(a,n,b\right)=a^{\left(n\right)}b=\underbrace {a^{\left(n-1\right)}a^{\left(n-1\right)}\cdots ^{\left(n-1\right)}a} _{b{\text{ copies of }}a}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/89b8ee87b2944a61429ceec020a75f08c4117ddd)
他の表記法との関係[編集]
n ≥ 3 に対しては、クヌースの矢印表記やコンウェイのチェーン表記との間に次の関係が成り立つ。
![{\displaystyle \operatorname {hyper} (a,n,b)=a^{(n)}b=a\uparrow ^{n-2}b=a\rightarrow b\rightarrow (n-2)\quad {\mbox{ when }}n\geq 3}](https://wikimedia.org/api/rest_v1/media/math/render/svg/bddccdb2898cea4db0bafdec624876d0c2517e41)
また、n ≥ 1 に対しては、Bowerの拡張演算子 (Jonathan Bowers' Extended Operator) との間に次の関係が成り立つ。
![{\displaystyle \operatorname {hyper} (a,n,b)=a^{(n)}b=a\langle n\rangle b\quad {\mbox{ when }}n\geq 1}](https://wikimedia.org/api/rest_v1/media/math/render/svg/e90802249c6cea6503bfba4ab98a5242a9bea740)
再帰的定義[編集]
次のように再帰的に定義できる。b = 0のときの例外処理がnによって違うことに注意。
![{\displaystyle \operatorname {hyper} (a,n,b)=a^{(n)}b={\begin{cases}b+1,&{\mbox{if }}n=0\\a,&{\mbox{if }}n=1,b=0\\0,&{\mbox{if }}n=2,b=0\\1,&{\mbox{if }}n\geq 3,b=0\\a^{(n-1)}(a^{(n)}(b-1))&{\mbox{otherwise}}\end{cases}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/647bcae1a1279b0791af972423cc057a4217b4a1)
実数への拡張[編集]
冪乗を指数関数に拡張したような、b、n の実数への自然な拡張はなされていない。
下付きハイパー演算子[編集]
n ≥ 3(冪乗) 以上では結合律が成り立たないので、右からの優先順位が定められていて、
![{\displaystyle \operatorname {hyper} \left(n+1\right)\left(a,b\right)=a^{\left(n+1\right)}b=\underbrace {a^{\left(n\right)}a^{\left(n\right)}\cdots ^{\left(n\right)}a^{\left(n\right)}a} _{b{\text{ copies of }}a}=\underbrace {a^{\left(n\right)}\left(a^{\left(n\right)}\cdots ^{\left(n\right)}\left(a^{\left(n\right)}a\right)\cdots \right)} _{b{\text{ copies of }}a}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/7bc45d0a27a193a709cc1e01334bf15d5b683a1e)
である。
それに対し、ハイパー演算子を下付きにすることで、優先順位を左からとする演算を表せる。つまり、
![{\displaystyle \operatorname {hyper} _{n+1}\left(a,b\right)=a_{\left(n+1\right)}b=\underbrace {\left(\cdots \left(a^{\left(n\right)}a\right)^{\left(n\right)}\cdots ^{\left(n\right)}a\right)^{\left(n\right)}a} _{b{\text{ copies of }}a}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/0d8491feb44b5e9c2f4a8a069b516c8c649f028b)
である。
ただし、下付きハイパーn+1演算子はハイパーn演算子を使って簡単に表せる、たとえば
![{\displaystyle a_{\left(4\right)}b=a_{\left(3\right)}a_{\left(3\right)}\left(b-1\right)=a^{a^{\left(b-1\right)}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/a721c2499188bd07381773ab98002b5835644188)
(冪乗法則より)なので、本質的に新しい演算ではなく、下付きハイパー演算子の用途はあまりない。
外部リンク[編集]