You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中与R语言solve()函数功能等效的函数是什么

Python中与R语言solve()等效的函数

和R中求解线性方程组a*x = b的solve(a, b)功能完全匹配的是NumPy库提供的numpy.linalg.solve()函数。

对应使用规则

  • 传入形状为(M, M)的可逆方阵a(你提到的协方差矩阵只要是满秩可逆的就可以直接传入)、形状匹配的右端项b(长度为M的一维数组,或者形状为(M, N)的二维矩阵),函数会直接返回方程组的解x,计算逻辑和返回结果规则与R语言的solve(a, b)完全一致。
  • 注意R语言中如果调用solve(a)不传入b参数,默认返回矩阵a的逆矩阵,这个单参数求逆的场景对应Python里的numpy.linalg.inv(a)函数,不要和求解方程组的用法混淆。

简单用法示例

import numpy as np

# 构造示例系数矩阵a
a = np.array([[2, 1], [1, 1]])
# 构造示例右端项b
b = np.array([3, 2])
# 求解线性方程组a*x = b
x = np.linalg.solve(a, b)

运行上述代码得到的x为array([1., 1.]),和R中运行solve(matrix(c(2,1,1,1), nrow=2), c(3,2))得到的结果完全一致。

注意:两个函数都要求传入的系数矩阵a是满秩可逆方阵,如果传入奇异矩阵会直接抛出计算错误。

内容的提问来源于stack exchange,提问作者Jasper

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 01:21:34