数学 / 函数 · 从概念到零点与增长速度 / 幂函数 y = x^α:底是自变量 待审核 6 / 12
power function · y=xαy = x^\alpha

幂函数 y=xαy = x^\alpha:底是自变量

幂函数(power function)形如 y=xαy = x^\alpha:底 xx 是自变量,指数 α\alpha 是常数。它与指数函数 y=axy = a^x 把底与指数的角色对调,两者最容易混淆,区分的唯一判据是看自变量落在哪个位置。

1 · 指数决定的三项性质

y=xαy = x^\alpha · 定义域 · 奇偶性 · 单调性

改变 α\alpha 得到一族形态差异很大的曲线,而定义域、奇偶性与正半轴上的单调性三项都由 α\alpha 唯一决定。

α\alpha 为正偶数时图象开口向上、是偶函数;为正奇数时关于原点中心对称、是奇函数。α=1\alpha = -1 时图象是等轴双曲线的两支。α\alpha 为其他负数时图象不是双曲线,y=x2y = x^{-2} 的两支都在 xx 轴上方,与双曲线的形状无关——只有 α=1\alpha = -1 这一个取值给出双曲线。

正半轴上的单调性只看 α\alpha 的符号:α>0\alpha > 0 时在 (0,+)(0, +\infty) 上递增,α<0\alpha < 0 时递减,α=0\alpha = 0 时退化成常值函数 y=1y = 1x0x \ne 0)。无论 α\alpha 取何值,只要 x>0x > 0,曲线都恒过定点 (1,1)(1, 1),因为 1α=11^\alpha = 1

图 1-1 · 指数 α\alpha 取几个典型值时的曲线对照,当前曲线加粗、同族曲线淡显。读数给出该 α\alpha 下的定义域、奇偶性与正半轴上的单调性。

2 · 分数指数处的定义域口径

convention · x1/3x^{1/3} 的定义域

α\alpha 为分数时定义域需要单独交代,而其中有一处口径分歧,不说清就会与指数与对数的运算那一页矛盾。

分数指数幂 am/na^{m/n} 的定义要求 a>0a > 0,理由是负底数下它的值依赖分数的写法:(8)1/3(-8)^{1/3} 按立方根应得 2-2,而 (8)2/6(-8)^{2/6} 按定义是 (8)26=2\sqrt[6]{(-8)^2} = 2,同一个指数约分前后给出不同结果。按这条定义,y=x1/3y = x^{1/3} 的定义域只能是 [0,+)[0, +\infty)

另一种写法把它读作立方根函数 y=x3y = \sqrt[3]{x},奇次根式对负数有定义,定义域是全体实数。两种读法的函数不同,图象也不同——后者在第三象限还有一支。

警示 · 本系列统一取前一种口径:写成幂 xm/nx^{m/n} 时定义域为 [0,+)[0, +\infty)m/n>0m/n > 0),要表达在负数上也有定义的那个函数,一律写成根式 x3\sqrt[3]{x}。图 1-1 的 α=1/3\alpha = 1/3 因此只画正半轴。两种口径都能自圆其说,但混用会让「x1/3x^{1/3} 是奇函数」这句话时对时错。

3 · 实现里的三处不一致

Math.pow · Math.cbrt

代码把上一节那道分歧暴露得更直接。JavaScript 的 Math.pow 采纳的正是 a>0a > 0 那条口径:Math.pow(-8, 1/3) 返回 NaN,而专门的 Math.cbrt(-8) 返回 -2。同一个数学表达式,两个函数给出的一个是无定义、一个是实数。

约分前后的分歧也照样复现:Math.pow(-8, 2/6) 返回 NaN,而先平方再开六次方的 Math.pow(Math.pow(-8, 2), 1/6) 返回 2。这与 §2 里那个手算的例子逐字对应,只是把「依赖写法」变成了「依赖调用次序」。

第三处不一致出在正半轴,而且比预想的普遍。1/31/3 不是二进制可表示数,Math.pow(x, 1/3) 算的是 xx0.333333333333333314829616256247 次幂,与真正的立方根差一点。实测在 xx0.0010.001100100100000100000 个点上,Math.cbrt(x)Math.pow(x, 1/3)4269442694 个点不相等(约 42.7%42.7\%),最大相对差 2.22×10162.22 \times 10^{-16},即一个 ulp(node v26.6.0)。偏差本身可以忽略,但它会让 Math.pow(x, 1/3) ** 3 === x 这类判等在四成的输入上失败,作图取样时应固定用 Math.cbrt

4 · 参考文献

  1. Power function. Wikipedia. 幂函数的分类与各类指数下的图象形态。https://en.wikipedia.org/wiki/Power_function
  2. Nth root. Wikipedia. 奇次根式对负数的定义,以及它与分数指数幂的口径差别。https://en.wikipedia.org/wiki/Nth_root
  3. Math.cbrt. MDN. 单列立方根方法的理由与它同 Math.pow 的差别。https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/cbrt