幂

在数学中，乘方或幂法（power method）是重复连乘的运算，幂（，power）是乘方的结果；由此，若 formula_1 为正整数，formula_1 个相同的数 formula_3 连续相乘（即 formula_3 自乘 formula_1 次），就可将 formula_6 看作乘方的结果 ——“幂”。
在精确的定义上，乘方与幂不同，例如：“幂的乘方”是指几个相同的幂相乘，formula_8 即“幂 formula_9 再做 formula_1 次乘方”。此外，在汉语命名上，乘方与开方相对，两者互为逆运算。乘方在古代原本指正整数次的自身连乘，当 formula_1 不为正整数时，“乘方”则有了衍伸的定义，即“乘幂”：将某个量或符号提升到任意指定次幂或对它施加一个指定指数的行为或过程。
乘幂（）或幂运算，又称指数运算、取幂，如上述，与乘方一样是数学运算，表达式为 formula_6，读作「formula_3 的 formula_1 次方」或「formula_3 的 formula_1 次幂」。其中，formula_3 称为底数（base），而 formula_1 称为指数（exponent，power），通常指数写成上标，放在底数的右边。
当乘幂的指数 formula_1 为 1 时，通常不写出来，因为运算出的值和底数的数值一样；指数为 2 时，另可读作“formula_3 的平方”；指数为 3 时，另可读作“formula_3 的立方”。乘幂在纯文字格式等不能用上标的情况，例如在编程语言或电子邮件中，formula_6 通常写成 b^n 或 b**n；也可视为超运算，记为 b[3]n；亦可以用高德纳箭号表示法，写成 b↑n。
由于在十进制中，十的幂很容易计算，只需在后面加零即可，所以科学记数法借此简化记录的数字；二的幂则在计算机科学中相当重要。
。这样定义了后，很易想到如何一般化指数 0 和负数的情况：指数是零时，底数不为零，幂均为一（即除 0 外，所有数的 0 次方都是 1 ）；指数是负数时，就等于重复除以底数（或底数的倒数自乘指数这么多次），即：
若以分数为指数的幂，则定义：
formula_25，
即 formula_3 的 formula_1 次方再开 formula_28 次方根。
0的0次方（formula_29）目前没有数学家给予正式的定义；在部分数学领域中，如组合数学，常用的惯例是定义为 1 。
此外，当 formula_1 是复数，且 formula_3 是正实数时，
formula_32
exp 是指数函数，而 ln 是自然对数。
运算律.
加法和乘法存在交换律，比如：formula_42，formula_43，但是幂的运算不存在交换律，formula_44，但是formula_45。
同样，加法和乘法存在结合律，比如：formula_46，formula_47。不过，幂运算没有结合律：formula_48，而formula_49，所以formula_50。
但是幂运算仍然有其运算律，称为指数律：
整数指数幂.
整数指数幂的运算只需要初等代数的知识。
正整数指数幂.
表达式formula_57被称作formula_58的平方，因为边长为"formula_58"的正方形面积是formula_60。
表达式formula_61被称作"formula_58"的立方，因为边长为"formula_58"的正方体体积是formula_64。
所以formula_65读作「3的平方」，formula_66读作「2的立方」。
指数表示的是底数反复相乘多少次。比如formula_67，指数是5，底数是3，表示3反复相乘5次。
或者，整数指数幂可以递归地定义成：
指数是1或者0.
注意formula_69表示仅仅1个3的乘积，就等于3。
注意formula_70，formula_71，formula_72，formula_73，
继续，得到formula_74，所以formula_75
另一个得到此结论的方法是：通过运算法则formula_76
当formula_77时，formula_78
零的零次方.
formula_79 其实还并未被数学家完整的定义，但部分看法是formula_80 ，在程式语言中（python） formula_81 
在这里给出这一种极限的看法
formula_82
于是，可以求出 x 取值从 1 到 0.0000001 计算得到的值，如图
负数指数.
我们定义任何不为 0 的数 a 的 -1 次方等于它的倒数。
对于非零formula_58定义
而formula_86时分母为 0 没有意义。
证法一：
根据定义formula_87，当formula_88时
得formula_90, 所以formula_91。
证法二：
通过运算法则formula_92
当formula_93时，可得formula_94
负数指数formula_95还可以表示成1连续除以formula_1个formula_58。比如：
特殊数的幂.
10的幂.
在十进制的计数系统中，10的幂写成1后面跟着很多个0。例如：formula_99
因此10的幂用来表示非常大或者非常小的数字。如：299,792,458（真空中光速，单位是米每秒），可以写成 formula_100，近似值 formula_101 或 formula_102
国际单位制词头也使用10的幂来描述特别大或者特别小的数字，比如：词头“千”就是 formula_103，词头“毫”就是 formula_104
1的幂.
1的任何次幂都为1。
0的幂.
0的正数幂都等于0。
0的负数幂没有定义。
任何非0之数的0次方都是1；而0的0次方是悬而未决的，某些领域下常用的惯例是约定为1。但某些教科书表示0的0次方为无意义。也有人主张定义为1。
负1的幂.
-1的奇数幂等于-1
-1的偶数幂等于1
指数非常大时的幂.
一个大于1的数的幂趋于无穷大，一个小于-1的数的幂趋于负无穷大
一个绝对值小于1的数的幂趋于0
1的幂永远都是1
如果数"a"趋于1而它的幂趋于无穷，那么极限并不一定是上面几个。一个很重要的例子是：
参见e的幂
其他指数的极限参见幂的极限
正实数的实数幂.
一个正实数的实数幂可以通过两种方法实现。
N次方根.
一个数formula_58的formula_1次方根是formula_121，"formula_121"使formula_123。
如果"formula_58"是一个正实数，"formula_1"是正整数，那么方程formula_123只有一个正实数根。
这个根被称为"formula_58"的"formula_1"次方根，记作：formula_129，其中formula_130叫做根号。或者，"formula_58"的"formula_1"次方根也可以写成formula_133.
例如formula_134
当指数是formula_135时根号上的2可以省略，如：formula_136
有理数幂.
有理数指数幂定义为
e的幂.
这个重要的数学常数"e"，有时叫做欧拉数，近似2.718，是自然对数的底。它提供了定义非整数指数幂的一个方法。
它是从以下极限定义的：
指数函数的定义是： 
可以很简单地证明"e"的正整数"k"次方formula_140是：
实数指数幂.
因为所有实数可以近似地表示为有理数，任意实数指数"x"可以定义成：
例如：
于是
实数指数幂通常使用对数来定义，而不是近似有理数。
自然对数formula_148是指数函数formula_149的反函数。
它的定义是：对于任意formula_150，满足
根据对数和指数运算的规则：
这就是实数指数幂的定义：
实数指数幂formula_154的这个定义和上面使用有理数指数和连续性的定义相吻合。对于复数，这种定义更加常用。
负实数的实数幂.
如果formula_58是负数且formula_1是偶数，那么formula_157是正数。如果"formula_58"是负数且"formula_1"是奇数，那么formula_157是负数。
使用对数和有理数指数都不能将formula_161（其中"formula_58"是负实数，formula_163实数）定义成实数。在一些特殊情况下，给出一个定义是可行的：负指数的整数指数幂是实数，有理数指数幂对于formula_164（formula_1是奇数）可以使用"formula_1"次方根来计算，但是因为没有实数formula_121使formula_168，对于formula_164（"formula_1"是偶数）时必须使用虚数单位formula_171。
使用对数的方法不能定义formula_172时的formula_161为实数。实际上，formula_149对于任何实数"formula_121"都是正的，所以formula_176对于负数没有意义。
使用有理数指数幂来逼近的方法也不能用于负数formula_58因为它依赖于连续性。函数formula_178对于任何正的有理数formula_58是连续的，但是对于负数"formula_58"，函数formula_181在有些有理数formula_182上甚至不是连续的。 
例如：当formula_183，它的奇数次根等于-1。所以如果"formula_1"是正奇数整数，formula_185当formula_28是奇数，formula_187当"formula_28"是偶数。虽然有理数formula_189使formula_190的集合是稠密集，但是有理数formula_189使formula_192的集合也是。所以函数formula_193在有理数域不是连续的。
因此，如果要求负实数的任意实数幂，必须将底数和指数看成复数，按复数的正实数幂或复数的复数幂方法计算。
正实数的复数幂.
e的虚数次幂.
复数运算的几何意义和"e"的幂可以帮助我们理解formula_194（"formula_121"是实数），即纯虚数指数函数。想象一个直角三角形formula_196（括号内是复数平面内三角形的三个顶点），对于足够大的formula_1，这个三角形可以看作一个扇形，这个扇形的中心角就等于formula_198弧度。对于所有formula_163，三角形formula_200互为相似三角形。所以当"formula_1"足够大时formula_202的极限是复数平面上的单位圆上formula_121弧度的点。这个点的极坐标是formula_204，直角坐标是formula_205。所以formula_206，而这个函数可以称为纯虚数指数函数。这就是欧拉公式，它通过复数的意义将代数学和三角学联系起来了。
等式formula_207的解是一个整数乘以formula_208：
更一般地，如果formula_210，那么formula_211的每一个解都可以通过将formula_208的整数倍加上formula_3得到：
这个复指数函数是一个有周期formula_208的周期函数。
更简单的：formula_216。
三角函数.
根据欧拉公式，三角函数余弦和正弦是： 
历史上，在复数发明之前，余弦和正弦是用几何的方法定义的。上面的公式将复杂的三角函数的求和公式转换成了简单的指数方程 
使用了复数指数幂之后，很多三角学问题都能够使用代数方法解决。
e的复数指数幂.
formula_219可以分解成formula_220。其中formula_149是formula_219的模，formula_223决定了formula_219的方向
正实数的复数幂.
如果formula_58是一个正实数，formula_226是任何复数，formula_227定义成formula_228，其中formula_229是方程formula_230的唯一解。所以处理实数的方法同样可以用来处理复数。
例如：
复数的复数幂.
复数的虚数幂.
让我们从一个简单的例子开始：计算formula_233。
formula_234
其中formula_235的得法参见上文正实数的复数幂
复数的复数幂.
类似地，在计算复数的复数幂时，我们可以将指数的实部与虚部分开以进行幂计算。例如计算formula_236：
formula_237
一般情况.
复数的复数幂必须首先化为底数为formula_238的形式：
formula_239
又，由复数的极坐标表示法：
formula_240
故
formula_241。
然后，使用欧拉公式处理即可。
由于复数的极坐标表示法中，辐角formula_242的取值是具有周期性的，因此复数的复数幂在大多数情况下是多值函数。不过实际应用中，为了简便起见，辐角都只取主值，从而使幂值唯一。
在函数中.
当函数名后有上标的数（即函数的指数），一般指要重复它的运算。例如formula_243即formula_244。特别地，formula_245指formula_246的反函数。
但三角函数的情况有所不同，一个正指数应用于函数的名字时，指答案要进行乘方运算，而指数为-1时则表示其反函数。例如：formula_247表示formula_248。因此在三角函数时，使用formula_249来表示formula_250的反函数formula_251。
计算自然数（正整数）"formula_1"的formula_253的算法.
最快的方式计算formula_253，当formula_1是正整数的时候。它利用了测试一个数是奇数在计算机上是非常容易的，和通过简单的移所有位向右来除以2的事实。
在C/C++语言中，你可以写如下算法：
double power(double a, unsigned int n)
 double y = 1;
 double f = a;
 while (n &gt; 0) {
 if (n % 2 == 1) y *= f;
 n »= 1;
 f *= f;
 return y;
此算法的时间复杂度为formula_256，比普通算法快（a自乘100次，时间复杂度为formula_257），在formula_1较大的时候更为显著。
例如计算formula_259，普通算法需要算100次，上述算法则只需要算7次。若要计算formula_260可先以上述算法计算formula_261，再作倒数。