SciPy中哪个线性函数用于求解厄米特正定带状矩阵方程?


名为`scipy.linalg.solveh_banded`的线性函数用于求解厄米特正定带状矩阵方程。此函数的形式如下:

scipy.linalg.solveh_banded(ab, b, overwrite_ab=False, overwrite_b=False, lower=False, check_finite=True)

此线性函数将求解方程 ax = b 中的 x,其中 a 是厄米特正定带状矩阵。

带状矩阵 a 以如下所示的上下对角线有序形式存储在 ab 中:

ab[u + i - j, j] == a[i,j] (if upper form; i<=j)
ab[ i - j, j] == a[i,j] (if lower form; i >= j)

ab 的上三角形式示例如下:

*    *    a02   a13   a24  a35
*    a01  a12   a23   a34  a45
a00 a11 a22 a33 a44    a55

这里 a 的形状为 (6, 6),u = 2。

ab 的下三角形式示例如下:

a00 a11 a22 a33 a44 a55
a10  a21 a32 a43 a54  *
a20 a31 a42 a53 *    *

这里 a 的形状为 (6, 6),u = 2。

参数

以下是函数 `scipy.linalg.solveh_banded()` 的参数:

  • ab− (u + 1, M) array_like

    此参数表示带状矩阵。

  • b− (M,) 或 (M, K) array_like

    此参数表示右侧向量。

  • overwrite_ab− bool,可选

    此参数用于丢弃带状矩阵 ab 中的数据。这可能会提高矩阵的性能。

  • overwrite_b− bool,可选

    此参数用于丢弃 b 中的数据。这可能会提高矩阵的性能。

  • lower− bool,可选

    此参数用于检查带状矩阵是否为下三角形式。默认为带状矩阵的上三角形式。

  • check_finite− bool,可选

    此参数用于检查输入矩阵是否仅包含有限数字。禁用它可能会提高性能。如果输入不包含无限值,则可能会导致问题。

返回值

  • x− (M,) 或 (M, K) ndarray

    返回带状矩阵方程 ax = b 的解。输出的形状取决于 b 的形状。

更新于:2021年11月24日

92 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告