雅可比椭圆函数sn 和 cn 类似于三角函数正弦和余弦。它们出现在非线性振荡和保形映射等应用中。遗憾的是, 定义这些函数有多个约定。这篇文章的目的是为了消除围绕这些不同的公约的混淆。

上面的图像是函数 sn [1] 的图解。

模数、参数和模块角度

雅比函数采用两个输入。我们通常认为雅比函数是其第一个输入的函数, 第二个输入被固定。第二个输入是一个 “拨号”, 你可以改变他们的行为。

有几种方法可以指定此拨号。我开始使用单词 “拨号” 而不是 “参数”, 因为在这个上下文参数具有技术意义, 一种描述表盘的方法。除了 “参数” 之外, 您还可以根据其模数模块角度来描述雅可比函数。这篇文章将是一个罗塞塔石头的排序, 显示如何每一种描述雅可比椭圆函数的方法是相关的。

参数 m是 [0, 1] 中的实数。互补参数m‘ = 1 m阿布拉默茨和 Stegun, 例如, 写的雅各比函数 sn 和 cn 作为 sn ( u |m) 和 cn ( u |m). 它们还使用m1 = 而不是m ‘ 来表示互补参数。

模数 km的平方根。这将是更容易记住, 如果m站在模数, 但这不是常规的。相反, m为参数, k为模数。互补模量 k‘ 是互补参数的平方根。

模块化角度α由m = sin²α定义。

请注意, 随着参数m转到零, 模数k和模块化角度α也是如此。当这些三中的任何一个变为零时, 雅可比函数 sn 和 cn 收敛到其对应的正弦和余弦。因此, 无论您的表盘是参数、模数或模块角度, sn 收敛到正弦和 cn 收敛到余弦, 当您将表盘朝向零。

当参数m转到 1, 模数k, 但模块化角度α转到π/2。所以, 如果你的表盘是参数或模数, 它会转到1。但如果你认为你的表盘是模块化角度, 它会转到π/2。在任何一种情况下, 当您将拨盘向右转动时, sn 收敛到双曲正割, cn 收敛到常量函数1。

季度期间

除了参数、模数和模块化角度外, 您还可以看到以kk为术语描述的雅可比函数。这些都被称为季度周期的好理由。当您沿实际轴移动时, sn 和 cn 的函数有句点 4 K , 或者在复杂平面的任意位置水平移动。他们也有期间 4 iK‘。也就是说, 当您移动距离 4 K ‘ 垂直 [2] 时, 函数会重复。

季度周期是模数的函数。沿实际轴的季度期间K

函数K( m) 被称为 “第一类的完整椭圆积分”。

振幅

到目前为止, 我们专注于对雅可比函数的第二个输入, 以及用于指定它的三约定。

有两个约定指定第一个参数, 无论是作为φ还是u

johndcook.com/jacobi_amplitude.svg

角度φ称为振幅。(是的, 这是一个角度, 但它被称为振幅

当我们上面说, 雅比函数有周期 4 K, 这是从变量u。请注意, 当φ = π/2, u = K

数学中的雅比椭圆函数

Mathematica 使用u约定为第一个参数和第二个参数的参数约定。

Mathematica 函数 JacobiSN[u, m] 用参数u和参数m计算函数 sn。在 & S 的表示法中, sn ( u |m)。

同样, JacobiCN[u, m] 使用参数u和参数m计算函数 cn。在 & S 的表示法中, cn ( u |m)。

在这一点上, 我们还没有谈到雅可比函数 dn, 但它是在 Mathematica 中实现的 JacobiDN[u, m]

u为函数求解振幅φ的函数 JacobiAmplitude[um m]

从参数m计算季度周期K的函数是 EllipticK[m]

Python 中的雅比椭圆函数

SciPy 库具有一个 Python 函数, 它一次计算四个数学函数。函数 scipy.special.ellipj 采用两个参数, um, 就像 Mathematica, 并返回 sn (u |m), cn (u |m), dn ( u |m) 和振幅φ (u, m)。

函数K( m) 是在 Python 中实现的 scipy.special.ellipk

相关职位

[1] 该图解是使用 JacobiSN[0.5, z]ComplexPlot 这里描述的功能。

[2] 严格说来, 4 iK‘ 是一个时期。它是 cn 的最小垂直周期, 但 2 iK ‘ 是 sn 的最小垂直周期。

Comments are closed.