Wolfram语言有几百个内置函数,范围从Sine到Heun。作为一个用户,您可以通过应用算术运算和函数组合,以无限多的方式扩展这个集合。这可能会导致您定义出复杂得令人困惑的表达式,如以下:
然后您可能会问,"f是连续的吗?"或者 "f可以写成一个增函数g与另一个函数的组合吗?" 12.2版中用于研究函数性质的强大新工具为这些问题提供了快速的答案--为应用数学家在过去几个世纪中提出的定理和观点网络打开了大门。
古往今来的函数
古代巴比伦人为自然数的平方和立方构建了表格(现在,我们将它们称为定义在自然数集合上的函数)。尽管在随后的几个世纪里,人们对函数进行了更多的非正式使用,但在勒内-笛卡尔发现解析几何后,人们开始系统地使用函数。特别是,艾萨克-牛顿爵士在他的微积分发展中广泛使用了函数的幂级数表示。
Gottfried Leibniz,微积分的共同发明者,在1673年首次正式使用了 "函数 "这个词。接下来,Leonhard Euler将一个函数与其分析表达式(基本上是一个公式)相提并论,实现了巨大的飞跃。Euler对函数的简单描述受到了Joseph Fourier的质疑,他举了一些不连续函数的例子,这些函数可以用无限的三角数列来表示,这表明分析表达式不足以描述许多实际应用中经常出现的函数。
Augustin-Louis Cauchy、Karl Weierstrass和Bernhard Riemann开发了复变函数的理论,其中函数的奇点决定了它们在复平面内的整体行为。复变函数还为数学天才Niels Henrik Abel和Carl Jacobi开发的椭圆函数和积分的宏伟理论提供了正确的环境。
从那时起,在纯数学和应用数学需求的推动下,函数的概念一直在不断地发展。如今,我们把函数简单地看作是任意对象集合之间的一种抽象的、多对一的关系。
正方形和立方体
让我们从巴比伦的正方形和立方体函数(分别用s和c表示)的例子开始探索12.2版中的新函数属性。
这里有一个函数图:
如下图所示,在x坐标轴上方画出的水平线与第一个图形相交于一对点,而任何水平线与第二个图形相交于恰好一个点:
因此,s不是单射(一对一),但c是单射。这可以通过使用FunctionInjective:
同样地,通过考虑画在x轴下方的水平线,我们可以得出结论:s不是抛物线,而c是抛物线:
结合这两个事实,我们得出结论,看似简单的正方形函数并不是双射(一对一以上),而不那么简单的立方体函数则具有这一特性:
另一方面,平方函数在任何地方都是非负值,而立方函数则同时具有正值和负值。这可以通过使用FunctionSign简洁地表达如下:
如果对平方函数执行严格的正性,而立方函数的域被限制为正实数,情况就会相反:
最后,请注意,平方和立方函数属于多项式函数家族,因此都是连续的:
三角函数和反三角函数
三角函数在传统上被认为是初级的,但它们为最新版本中的一些更深层次的函数属性提供了有用的例子。
正弦函数,Sin,出现在涉及机械和电振荡的问题中。它不是一个多项式函数,但它可以用一个幂级数来表示(一个没有最后一项的多项式!),因此是一个解析函数。这可以通过使用FunctionAnalytic来确认:
下面是其幂级数展开的前几项:
下面的图表显示,近似值在有限的x范围内是有效的:
正切函数,Tan,是我们的第一个亚纯函数的例子(即除了孤立的极点奇点之外,在任何地方都是分析的函数):
Tan从其分母Cos的零点继承了其奇异性:
Plot利用对这些奇异点的了解来提供Tan的准确图表:
与Tan相比,它的逆函数ArcTan是平滑的,就像它与平方函数的组合一样:
实线上的函数图证实了这一特性:
然而,这个函数扩展到复平面会导致奇异性,如图所示:
减少可以用来获得这些奇点的详细描述:
这里有一个漂亮的函数及其奇点的ComplexPlot:
这里所描述的情况,即一个函数扩展到复平面会导致奇异点,在数学函数的研究中是很常见的,在下一节中会再次遇到。
椭圆函数
椭圆函数在非线性振荡和许多其他应用的研究中出现,有一种神秘感,因为它们很少在本科课程中被讨论。当它们与三角函数一起被研究时,它们就不那么神秘了。
为了说明它们,考虑JacobiSN(类似于椭圆世界中的Sin):
与正弦函数一样,JacobiSN是x的分析和周期性的函数:
当这个函数被扩展到复平面时,情况发生了巨大的变化。这是因为JacobiSN是EllipticTheta函数的商,而EllipticTheta函数本身就是分析的和准双周期的函数。
在除法过程中,JacobiSN从其分母的复数零点中获取奇异点,而某个相位因子则奇迹般地抵消了,使其成为双周期函数。因此:
这里是一个JacobiSN的图,显示了函数的奇异性,以及由双周期性导致的平面的镶嵌:
椭圆函数理论的优雅程度无人能及,许多十九世纪的杰出数学家都在追求这一理论,包括Charles Hermite,他曾说过:"我不能离开椭圆领域。山羊附着在哪里,它就必须在哪里吃草"。我敦促您使用Wolfram语言中的内置椭圆函数和积分来进一步探索这个奇妙的主题。
分段世界
分段定义的函数在电气工程、金融和其他应用中自然出现。在这种函数的不同部分拼接在一起的边界处可能会出现不连续的情况。FunctionDiscontinuities给出了这些不连续的位置。
例如,考虑RealSign,它表示实数x的符号:
FunctionDiscontinuities证实了RealSign在x=0处有一个不连续点:
另一方面,这个函数可以用连续的Fourier正弦系列来近似:
下图中跳跃不连续处的Fourier数列的过冲(或 "振铃")是吉布斯现象的一种表现形式:
作为另一个例子,让我们来计算
的不连续性,其中θ是Heaviside阶梯函数:
-
和
之间的不连续点可以用Reduce找到,如下所示:
该函数及其不连续点在此得到了可视化:
最后,这里有一个非单调的单射Piecewise函数:
特殊函数
Wolfram语言有超过250个特殊函数,包括来自数学物理学的经典特殊函数,以及因其与概率和统计学或其他应用领域相关而创建的更多现代函数。
新的函数属性对于解决涉及特殊函数的问题非常有用。我们在这里用它们来寻找介绍中的f函数例子的全局最小值:
要开始定义g和h函数,请执行以下操作:
g函数在实线上是单调的:
接下来,f函数可以写成g和AiryAi[h]的组合:
现在,如下图所示,AiryAi有无限多的局部最小值:
它的全局最小值不能通过计算它的所有局部最小值来找到。
然而,Minimize内置了关于特殊函数的全局最小值的知识,可以快速找到所需的全局最小值:
现在只需证明AiryAi的全局最小点是在h所达到的数值中。作为证明的第一步,请注意:
根据中间值定理,要证明h达到所有实值,只需证明它是连续的,这可以用FunctionContinuous来完成:
另外,h是单调的:
因此f的全局最小值是唯一的。
Minimize自动使用类似的方法来寻找f的最小值:
最后,这里是f其独特的全球最小值的图:
多变量函数
到目前为止,所有的例子都使用了一个单一的实数或复数变量。让我们来看看几个计算多变量函数属性的例子,利用Wolfram语言壮观的可视化功能来说明结果。
作为第一个例子,考虑f定义的实数双变量函数:
f的奇异点只是其 "分母 "
的零点:
下面的图形抓住了f的奇点的复杂性质:
接下来,像下面这样的多变量有理函数始终是亚纯的:
然而,与单变量函数不同,此类函数的奇点通常位于曲线上。例如,第一个函数的奇点(如上图所示)位于抛物线
上:
另一方面,在Re(x)lm(y)平面上绘制第二个函数,显示了该函数沿双曲线的放大:
Beta函数提供了亚纯多变特殊函数的一个有趣的示例:
事实上,Beta可以被认为是Gamma的一个多变量有理函数:
下图显示了函数的奇异点,这些奇异点是由于伽马因子的极点位于负整数值而产生的:
最后,这里有一个严格凸函数的例子:
这样的函数最多只有一个局部最小值,在这种情况下可以通过使用Minimize找到:
下面的图显示了f连同其独特的局部最小值:
文档
您可以通过浏览Wolfram Language & System Documentation Center中的参考页面来了解最新版本中的新函数属性,这些页面展示了每个函数的范围,包括在几何学、微积分和其他领域的应用。
本博文中的许多例子都来自FunctionDiscontinuities、FunctionConvexity等的参考页面。我建议从指南页开始,进一步探索该功能的新文档。
自1988年Wolfram语言第一版发布以来,已经增加了各种数学函数。12.2版中引入的函数属性将有助于统一这个庞大的函数集合,根据一些特征对它们进行分类,如连续性、分析性等。
欢迎对新功能提出任何意见或建议。