取幂后会进行什么数学运算(^)​​?

时间:2015-10-26 20:22:34

标签: math discrete-mathematics operation exponentiation

让我们给表达式一些名字:

x+3 = x+1+1+1 // lvl 1
x*3 = x+x+x   // lvl 2
x^3 = x*x*x   // lvl 3

3之后 lvl 的数学 术语/真实姓名/主题 会是什么?

像:

x (lvl 4 operation) 3 = x^x^x
x (lvl 5 operation) 3 = x(lvl 4 operation)x(lvl 4 operation)x
..

提前致谢。

P.S。以上不是编程代码/语言

3 个答案:

答案 0 :(得分:11)

取词后{p> Tetration是下一个hyperoperator。在Knuth's notation之后,运算符在ASCII中被标记为↑↑ - 或^^

序列中的下一个操作是pentation,然后是hexation,heptation,octation等。Ackermann's three-argument function递归地计算这些操作。

╭────────┬────────────────┬─────────────┬───────────────────╮
│  Level │     Name       │  Notation   │ Ackermann (3-arg) │
╞════════╪════════════════╪═════════════╪═══════════════════╡   
│    1   │   Successor    │ a++ (unary) │   φ(a, 1, 0)      │
│    2   │   Addition     │ a+b         │   φ(a, b, 0)      │
│    3   │ Multiplication │ a×b         │   φ(a, b, 1)      │ 
│    4   │ Exponentiation │ a↑b         │   φ(a, b, 2)      │
│    5   │   Pentation    │ a↑↑b        │   φ(a, b, 3)      │
│    6   │   Hexation     │ a↑↑↑b       │   φ(a, b, 4)      │
│    7   │   Heptation    │ a↑↑↑↑b      │   φ(a, b, 5)      │
│    8   │   Octation     │ a↑↑↑↑↑b     │   φ(a, b, 6)      │
╰────────┴────────────────┴─────────────┴───────────────────╯

答案 1 :(得分:3)

除了取幂之外,还没有任何一般操作(主要是由于缺乏需求)。一个可能的扩展名是tetration,它缩写了一堆具有相同值的指数。简而言之(使用 Knuth's up-arrow notation

a ^^ 1 = a
a ^^ n = a^(a^^(n-1))
       = a ^ a ^ ... ^ a  (n items)

向上箭头表示法本身可以堆叠,a^^^a堆叠a s a^^a高,a^^^^a堆栈a^^^a高等等。(创建的数字非常大;阅读Graham's number以了解您可以构建的数字有多大。)

答案 2 :(得分:3)

使这成为Haskell问题的一种方法是设置实现Ackermann函数(无论哪个版本)的挑战,就自然数的“paramorphism”而言,这里通过Integer表示,而没有其他形式的递归。

paraNat :: t -> ((Integer, t) -> t) -> Integer -> t
paraNat base step n | n > 0 = step (m, paraNat base step m) where m = n - 1
paraNat base step _         = base

众所周知,“paramorphism”对应于“原始递归”,而另一个众所周知的事实是Ackermann的函数不属于“原始递归函数”类。然而,问题有一个解决方案。线索是paraNat在其返回类型t中是多态的,而“原始重新定义函数”类将t修复为自然数。

(我意识到通过提出一个问题来回答一个问题是非常正统的,但我希望无论如何它都很有趣。如果民众认为它有问题,我会删除这个答案。)