对数

在数学中，对数（logarithm）是幂运算的逆运算。
定义.
当formula_1时，则有
其中formula_3是对数的底（也称为基数），而 formula_4就是formula_5（对于底数formula_3）的对数，formula_5也称为真数。
底数formula_3的值在实数范围内常取formula_9、 10、2等，但一定不能是1或0
当"formula_5"和"formula_3"进一步限制为正实数的时候，对数是唯一的实数。
例如，因为
我们可以得出
用日常语言说，即「81以3为底的对数是4」。 这个意思就是说，81是3的4次方。
历史.
对数.
15世纪时，法国数学家尼古拉·许凯和德国数学家在开展研究工作时产生了发展对数的思想，他们，尤其是后者，对等差数列和等比数列的关系作了一些研究。但他们并没有使其得到更进一步的发展。
一般认为对数于16世纪末至17世纪初期间由苏格兰数学家约翰·纳皮尔男爵和瑞士工程师约斯特·比尔吉发明。比尔吉曾担任过著名天文学家开普勒的助手，因此会经常接触到复杂的天文计算，他也因此产生了化简数值计算的想法。纳皮尔是一位苏格兰贵族，对数值的计算有很深的研究。为了找到简化球面三角计算的方法，他也产生了发展对数的想法。1614年，他在自己的书籍《奇妙的对数表的描述》上发布了自己的对数表，相较比尔吉早了6年。纳皮尔发明的纳皮尔算筹用加减法代替了乘除法，成功简化了乘除法的运算，他的对数被后人称为纳皮尔对数，记法为Nap·logx。
1624年，英国数学家书籍《对数算术》成功出版，书中写有14位常用对数表。布里格斯率先采用了以10为底的常用对数，而现在它已通用。他还制作了正弦和正切的对数表。荷兰数学家兼出版商在布里格斯的基础上加以改进，他出版的数个对数表在欧洲迅速普及起来。
17世纪中叶（清朝初年），中国数学家薛凤祚和波兰传教士穆尼阁合作完成了中国最早的对数著作《比例对数表》（又名《历学会通》），对数自此传入中国。此书称真数为“原数”，对数为“比例数”。而《数理精蕴》中则称作对数比例：“对数比例乃西士若往·纳白尔所作，以借数与真数对列成表，故名对数表。”中国因此普遍称之为“对数”。
对数对科学的进步有所贡献，特别是对天文学，使某些繁难的乘法计算转换为加法计算。在计算器和计算机发明之前，对数长期用于测量、航海、和其他应用数学分支中。
符号.
对数符号formula_14出自拉丁文logarithmus，最早由1632年意大利数学家卡瓦列里所使用。纳皮尔在表示对数时套用logarithm整个词，并未作简化。1624年，开普勒才把对数符号简化为formula_14，奥特雷德在1647年也用简化了的Log。
1893年，皮亚诺用formula_16及formula_17分别表示以formula_9为底的对数和以10为底的对数。1902年，等人以formula_19表示以formula_20为底的formula_21的对数。
20世纪初，形成了对数的现代标准表示formula_22，为了使用方便，自然对数formula_23的记法得到了普遍认可。
对数函数.
函数formula_24依赖于formula_25和formula_5二者，但是术语对数函数在标准用法中用来称呼形如formula_24的函数，在其中底数formula_25是固定的而只有一个参数"formula_25"。
对数函数图像和指数函数图像关于直线formula_30对称，互为逆函数。
对数函数的性质有：
有理和无理指数.
如果formula_45是自然数，formula_46表示等于formula_3的formula_45个因子的乘积：
但是，如果formula_3是不等于1的正实数，这个定义可以扩展到在一个域中的任何实数formula_45（参见幂）。类似的，对数函数可以定义于任何正实数。对于不等于1的每个正底数formula_3，有一个对数函数和一个指数函数，它们互为反函数。
对数可以简化乘法运算为加法，除法为减法，幂运算为乘法，根运算为除法。所以，在发明电子计算机之前，对数对进行冗长的数值运算是很有用的，它们广泛的用于天文、工程、航海和测绘等领域中。它们有重要的数学性质而在今天仍在广泛使用中。
特殊底数.
最常用做底数的是"e"、10和2。
在数学分析中，以formula_9为底对数很常见。另一方面，以10为底对数在十进制表示法中，手工计算很容易：
所以formula_55表示正整数formula_5的位数：数字的十进制位数是严格大于formula_55的最小的整数。例如formula_58，下一个整数是4，即1430的位数。
以2为底的对数常用于计算机科学，因为计算机中二进制很普及。当然上面的算法也可推广到二进制：严格大于formula_59的最小整数是formula_5在二进制下的位数。事实上经由简单推导即可得知，floor(logpx)+1 得到formula_5在formula_62进制下的位数：若formula_5在formula_62进制下有formula_45位，则<math>p^{n-1}\leq x ；而formula_62是不小于 2 的正整数导致以其为底的formula_67是增函数，故三边取对数得formula_68，取下整正好得到formula_69。
下表列出了这些底数的常用的对数符号以及他们所使用的领域。许多学科都写formula_70来代替formula_71，而formula_21的值根据前后文可以确定。记号formula_73也出现过。“ISO表示法”一列指定了ISO推荐的表示方法。
底数变换.
尽管有很多有用的恒等式，对计算器最重要的是找到不是建造于计算器内的底数（通常是formula_74和formula_75）的其他底数的对数。要使用其他底数formula_3找到底数formula_25的对数:
此外，这个结果蕴涵了所有对数函数（任意底数）都是相互类似的。所以用计算器计算对134217728底数2的对数:
对数的用途.
对数对解幂是未知的方程是有用的。它们有简单的导数，所以它们经常用在解积分中。对数是三个相关的函数中的一个。在等式formula_80中，formula_21可以从formula_5的formula_45次方根，"formula_45"从formula_5的"formula_21"底数的对数，"formula_5"从"formula_21"的"formula_45"次的幂来确定。参见对数恒等式得到掌控对数函数的一些规则。
简便计算.
对数把注意力从平常的数转移到了幂。只要使用相同的底数，就会使特定运算更容易：
这些关系使在两个数上的这种运算更快，
群论.
从纯数学的观点来看，恒等式：
formula_90，
在两种意义上是基本的。首先，其他3个算术性质可以从它得出。进一步的，它表达了在正实数的乘法群和所有实数的加法群之间的同构。
对数函数是从正实数的乘法群到实数的加法群的唯一连续同构。
复对数.
复对数计算公式：
微积分.
自然对数函数的导数是
通过应用换底规则，其他底数的导数是
自然对数formula_97的不定积分是
而其他底数对数的不定积分是
计算自然对数的级数.
有一些级数用来计算自然对数。最简单和低效的是:
下做推导：
由
在两边积分得到
设formula_105并因此formula_106，得到
更有效率的级数是基于反双曲函数的
对带有正实部的formula_109。
推导：代换formula_110为formula_5，得到
做减法，得到
设formula_114并因此formula_115，得到
例如，应用这个级数于
得到
并因此
在这里我们在第一行的总和中提出了因数formula_122。
对于任何其他底数formula_3，我们使用
计算机.
多数计算机语言把formula_125用做自然对数，而常用对数典型的指示为log10(x)。参数和返回值典型的是浮点数据类型。
因为参数是浮点数，可以有用的做如下考虑：
浮点数值formula_5被表示为尾数formula_127和指数formula_45所形成的
因此
所以，替代计算formula_131，我们计算对某个formula_127的formula_133使得formula_134。有在这个范围内的"formula_127"意味着值formula_136总是在范围formula_137内。某些机器使用在范围formula_138内的尾数，并且在这个情况下formula_139的值将在范围<math>-\frac13 内。在任何一种情况下，这个级数都是更容易计算的。
一般化.
普通的正实数的对数一般化为负数和复数参数，尽管它是多值函数，需要终止在分支点0上的分支切割，来制作一个普通函数或主分支。复数formula_109的（底数formula_9）的对数是复数formula_142，这里的formula_143是"formula_109"的模，formula_145是辐角，而formula_146是虚单位；详情参见复对数。
离散对数是在有限群理论中的相关概念。它涉及到解方程formula_80，这里的formula_21和formula_5是这个群的元素，而formula_45是指定在群运算上的幂。对于某些有限群，据信离散对数是非常难计算的，而离散指数非常容易。这种不对称性可用于公开密钥加密。
矩阵对数是矩阵指数的反函数。
对于不等于1的每个正数formula_21，函数formula_152是从在乘法下的正实数的群到在加法下（所有）实数的群的同构。它们是唯一的连续的这种同构。对数函数可以扩展为在乘法下正实数的拓扑空间的哈尔测度。
对数表.
在发明计算器之前，使用对数意味着查对数表，它必须手工建立。