数学 - 超级幂

比乘法更大的是乘方,比乘方更大的是什么?

小学时,老师说,由于生活中经常需要把同一个数加很多很多次,因此人们发明了乘法。 a × b 就表示 b 个 a 相加。初中时,老师说,由于生活中经常需要把同一个数乘很多很多次,因此人们发明了乘方。 a ^ b 就表示 b 个 a 相乘。令人失望的是,到了高中时,我们并没有学到更牛 B 的运算符号;大学都快学完了,似乎也没见到乘方升级的苗头。乘方之上究竟是什么?下面,有请今天的主角——超级幂——登场!

加法、乘法、乘方、超级幂的表示方法如下:

这里的每一个a都在角标位置上,比原来的要小,所以其作用于前面临近的那个a,而不是前面整个数字。这里计算的顺序是从右往左的。

超级幂或超乘方是比乘方跟进一级的运算,可以用来表示更大的数。

很容易想到,比乘方更大一级的运算就是把 b 个 “a 次方” 重叠起来。不过,这里我们却遇到了一个之前不曾遇到的问题: a ^ a ^ a 究竟应该等于 (a ^ a) ^ a ,还是 a ^ (a ^ a) ?。我们不妨来算一算,不同算法得到的结果相差多远:

(2 ^ 2) ^ 2 = 4 ^ 2 = 16

2 ^ (2 ^ 2) = 2 ^ 4 = 16

难道两种不同的计算顺序,得到的结果总是相同的吗?让我们换 a = 3 试试:

(3 ^ 3) ^ 3 = 27 ^ 3 = 19683

3 ^ (3 ^ 3) = 3 ^ 27 = 7625597484987

哇,这下可就差远了。可以想象,如果把 “a 次方” 再多迭代几次,从右往左算和从左往右算会差得更多。恐怖的是,当有多重指数时,运算正是按照从右往左算的顺序进行的。试想,若有一种运算专门用来表示 b 个 a 构成的指数塔,这种运算的威力会多大。

1947 年,数学家 Goodstein 发现,不管初始时选取哪个自然数,按照某种预先定义好的规则进行迭代,数列最终将变成 0 。但是,数列收敛到 0 的速度极其缓慢,以至于 Goodstein 需要处理一些连乘方也无法表达出来的大数。于是, Goodstein 便正式提出了这种超越乘方的运算。他把 n 个指数 a 迭代的结果记为 ,也就是把 n 放在 a 的左上角。在国外的一些论坛上,有时也能看见 a^^n 的表示方法,便于在纯文本格式下的传播。不过,当时 Goodstein 并没有用超级幂 (superexponentiation) 一词,而是用的 tetration 一词。这是由前缀“四” (tetra-) 和迭代 (iteration) 一词合成的,意即排在加法、乘法、乘方之后的第四级运算。事实上, tetration 比 superexponentiation 更常用一些。网上甚至有一个tetration 论坛,论坛里活跃着一群热爱 tetration 的数学 geek 。

我们能轻松定义出超级幂的概念,但为什么这个东西却如此“小众”呢?当然,超级幂缺乏很多加减乘除和乘方运算具有的性质,这是一个重要的原因;不过,我想应该还有一个最基本的原因吧——超级幂本身没有什么实用价值。重复对折纸张、增长率的叠加、赌博游戏中的翻番,它们都可以用乘方来描述。实际生活中有什么事情正好能用超级幂来描述的吗?我想应该不会有吧。

参考:

超乘方_百度百科

https://en.wikipedia.org/wiki/Tetration

由根号2的根号2的根号2...次方次方引发的讨论 - 知乎

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
MATLAB中可以使用符号计算工具箱来进行数学符号的计算。通过引入符号变量并使用符号函数,可以创建和操作数学符号表达式。 首先,使用sym函数定义一个或多个符号变量,比如a、b、c、d: a = sym('a'); b = sym('b'); c = sym('c'); d = sym('d'); 然后,可以使用这些符号变量进行各种数学运算,包括运算。例如,可以使用^运算符计算一个符号变量的,如a的2次: a_squared = a^2; 如果需要计算一个矩阵的,可以使用matlabFunction函数将符号表达式转换为函数句柄,然后使用该函数句柄进行矩阵运算。下面是一个示例: A = [a,b;c,d]; % 建立符号矩阵A A_squared = matlabFunction(A^2); % 转换为函数句柄 result = A_squared(); % 调用函数句柄计算矩阵A的平方 请注意,符号计算可能会涉及复杂的代数运算,因此计算速度可能较慢。如果需要进行大规模的数学符号计算,建议使用其他更适合的数学软件或库。 引用来源:(不推荐)易用的等高线绘图函数 - MATLAB ezcontour- MathWorks 中国matlab从无到有系列(三):数值计算基础。 引用来源:举例1:符号标量和数值标量的区别 a = sym('a'); % 定义符号变量a,下同 b = sym('b') c = sym('c') d = sym('d') w = 4;x = 3;y = -8;z = 9; A = [a,b;c,d] % 建立符号矩阵A B = [w,x;y,z] % 建立数值矩阵B C = det(A) % 计算符号矩阵A的行列式 D = det(B) % 建立数值矩阵B的行列式

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜流冰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值