使用 NumPy 在 Python 中计算 Chebyshev Series 系数的根

2024 年 8 月 29 日 | 阅读 3 分钟

被称为切比雪夫多项式的正交多项式族在数学的各个分支中都有应用,例如信号处理、数值分析和逼近论。切比雪夫多项式可用于使用切比雪夫级数来逼近函数。切比雪夫级数是可用于精确表示函数的切比雪夫多项式的集合。本文将探讨如何使用流行的 Python 数值计算工具包 NumPy 来计算切比雪夫级数的根。我们还将讨论切比雪夫多项式的特性以及如何使用它们进行插值和逼近。

切比雪夫多项式在逼近论中至关重要,因为它们不是正式生成的。所有计算仅需要系数。必须使用 NumPy 模块中提供的 Chebyshev.chebroots() 方法来计算多项式的根,该方法可用于 Python,它会生成一个包含一系列源的数组。如果所有基数都是实数,则输出为实数;否则,输出为复数。一维系数数组构成了 c 参数。

语法

用逗号分隔的数字序列称为整数。

返回

它将返回整数序列的根的数组。如果所有源都是真实的,则结果也将是真实的;否则,结果将是复杂的。

Chebyshev.chebroots() 方法

要使用 NumPy 模块中包含的 Chebyshev.chebroots() 函数,在 Python 中计算具有给定复数根的切比雪夫级数的根。根的估计是通过计算提供的伴随矩阵的特征值来完成的。重数大于一的根会产生较大的不准确性。将返回指定切比雪夫级数的源数组。如果所有根都是真实的,则输出为真实;否则,结果为复数。它需要一个单一的一维参数系数(c)数组。

语法

参数

  • c: 系数的 1D 数组

返回: 级数的根的数组。实数/复数。

示例 1

在此示例中,我们将导入 Chebyshev 模块,以生成一个包含五个数字的常规级数,并确定其根、数据类型和形状。

输出

[-0.96766052 -0.39810338  0.11832406  0.9141065 ]
float64
(4)

示例 2

在此示例中,我们将导入 Chebyshev 模块,以生成一个包含五个数字的常规级数,并确定其根、数据类型和形状。在此示例中,我们将导入 Chebyshev 模块,以生成一个包含两个数据点的复数级数,并确定其根、数据类型和形状。

输出

[-0.61538462-0.07692308]
(1)
complex128

在此示例中,通过将复数根 (0,1) 构建为一维数组中的系数数组来获得切比雪夫级数的根。然后,得到复数根。此外,我们还使用 dtype 方法显示数据类型,并使用 shape 方法获取形状。

输出

(2+0j)
complex128
(1)
[1.+0.j]

在此示例中,我们将切比雪夫级数的复数根 2,5 构建为一维数组中的系数数组。然后,得到复数根。此外,我们还使用 dtype 方法显示数据类型,并使用 shape 方法获取形状。

输出

(1+3j)
complex128
(1)
[1.+0.j]