阅读 194

SciPy 的哪个线性函数用于求解带状矩阵方程?

名为 scipy.linalg.solve_banded 的线性函数用于求解带状矩阵方程。此函数的形式如下 -


scipy.linalg.solve_banded(l_and_u, ab, b, overwrite_ab=False, overwrite_b=False, debug=None, check_finite=True)


这个线性函数将求解方程 ax = b for x,其中 a 是带状矩阵。

通过使用矩阵对角排序形式将带状矩阵a存储在ab 中,如下所示 -


ab[u + i - j, j] == a[i,j]


ab 的例子如下 -


*       a01 a12 a23 a34 a45
a00 a11 a22 a33 a44 a55
a10 a21 a32 a43 a54 *
a20 a31 a42 a53 * *


这里 a 的形状是 (6, 6) 并且 u =1, l = 2。

参数

下面给出函数 scipy 的参数。-linalg.solve_banded()

  • (l, u) - (整数,整数)

    这些表示非零下对角线和上对角线的数量。

  • ab − b(l + u + 1, M) array_like

    如前所述,该参数表示带状矩阵。

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

    此参数代表右侧。

  • Overwrite_ab - bool,可选

    该参数用于丢弃带状矩阵 ab 中的数据。它可以提高矩阵的性能。

  • Overwrite_b - 布尔值,可选

    该参数用于丢弃b中的数据。它可以提高矩阵的性能。

  • check_finite - 布尔值,可选

    此参数用于检查输入矩阵是否仅包含有限数。禁用它后,我们可能会获得一些性能提升。如果输入不包含无穷大,则可能会导致问题。

退货

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

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


文章分类
百科问答
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐