# 方根
# 简介
方根运算是高等数学非常重要的概念,而且容易和对数运算、指数运算混淆
# 定义
如果一个数满足
常见的,当
平方根:如果一个数
算术平方根:其中大于 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)