ハイパー演算子
ハイパー演算子 (hyper operator) は、加算、乗算、冪乗を一般化した演算のための演算子である。
目次 |
[編集] 表記
加算演算子を上付き① (a + b = a ①b)、乗算演算子を上付き② (ab = a ②b)、冪乗演算子を上付き③ (ab = a ③b)で表し、それらを一般の非負整数nに一般化した上付きⓝ (a ⓝ b) がハイパー演算子である。
なお、表記の制約のため、以後丸囲み文字ⓝを丸かっこ入り文字 (n) で表すものとする。
また、それらを関数形式で表す hypern、nを変数とした3変数関数 hyper も定義される。hyper1は加算、hyper2は乗算、hyper3は冪乗であり、さらにhyper4はテトレーション (tetration)、hyper5はペンテーション (pentation)、hyper6はヘキセーション (hexation)・・・と呼ばれる。
n = 0~4 の例は次のとおり。
hyper0は、第2オペランド b の後者関数(第1オペランド a は無視される)とする。ただし、他の定義を使うこともある。
n > 4 の場合は次のように定める。これは n > 1 の場合全てに成り立つが、n = 1 では成り立たない。
[編集] 他の表記法との関係
n ≥ 3 に対しては、クヌースの矢印表記やコンウェイのチェーン表記との間に次の関係が成り立つ。
また、n ≥ 1 に対しては、Bowerの拡張演算子 (Jonathan Bowers' Extended Operator) との間に次の関係が成り立つ。
[編集] 再帰的定義
次のように再帰的に定義できる。b = 0のときの例外処理がnによって違うことに注意。
[編集] 実数への拡張
冪乗を指数関数に拡張したような、b、n の実数への自然な拡張はなされていない。
[編集] 下付きハイパー演算子
n > 3(冪乗) 以上では結合律が成り立たないので、右からの優先順位が定められていて、
である。
それに対し、ハイパー演算子を下付きにすることで、優先順位を左からとする演算を表せる。つまり、
である。
ただし、下付きハイパーn+1演算子はハイパーn演算子を使って簡単に表せる、たとえば
(冪乗法則より)なので、本質的に新しい演算ではなく、下付きハイパー演算子の用途はあまりない。
[編集] 外部リンク
|
||||||||











