# 方根

# 简介

方根运算是高等数学非常重要的概念,而且容易和对数运算指数运算混淆

# 定义

如果一个数满足 ,则 叫做 次方根,求 x 的运算记作 ,读作 次方根。

常见的,当 时,称作平方根,一般省略根号上的 2,简写成,当时称作立方根。

平方根:如果一个数 的平方等于 ,那么这个数叫做的平方根。如 , 。所以 都是 4 的平方根

算术平方根:其中大于 0 的那个根,叫做算数平方根,如上,2 是 4 的算术平方根,-2 则不是。特别规定,0 的算术平方根是 0

立方根没有规定算术立方根,因为 a 可以是负数。

另外,负数的方根有虚数解。虚数概念先 TODO。

# 运算法则

# Python 可以求解复数

from sympy import *
sqrt(2)

sqrt(-2)

cbrt(-1)

x = Symbol('x')
solve(x ** 3 + 1, x) 
[-1, 1/2 - sqrt(3)*I/2, 1/2 + sqrt(3)*I/2]

-1 的立方根可以看做方程 x ** 3 = -1 的解, 我们用 Python 解这个方程,发现除了 -1, 还有另外两个复数解,可以参考本人的这篇知乎 (opens new window)

# 证明分数次幂与开方运算等价

求证

证: 令

两边同乘 n 次方,有

两边同乘 次方,有

又∵

∴ 命题得证

其实上面的限定条件可以进一步扩展到整个复数域。

在使用中,数学家更青睐使用分数次幂表示开方运算,加上负数次幂的定义(有兴趣的同学欢迎留言 (opens new window)证明,感谢@songofhawk (opens new window)证明),这使得指数运算扩展到实数域。后来欧拉又将指数运算扩展到无理数和复数域。从此整个幂运算就和开方运算等价起来了。

# JS 实现

由于我的系列还没有讲到导数,甚至连三角函数和斜率都还没有讲。但大部分人在高中有学过一些,这里先不展开,直接给出牛顿公式:

// 求 2 次方程近似解:
const sqrt = (a) => {
  let ret = 1
  const Max = 50
  for (let i = 0; i < Max; i++) {
    ret = (ret + a/ret) / 2
  }
  return ret
}

我们可以看到,迭代次数要随着被开方的数增大而增大。

# 应用

开方运算在统计降维、几何学等领域有非常重要的应用。关于开方运算的讨论,欢迎在这里留言 (opens new window)