maxframe.tensor.linalg.solve#

maxframe.tensor.linalg.solve(a, b, sym_pos=False, sparse=None)[源代码]#

求解方程 a x = b 中的 x

参数:
  • a ((M, M) array_like) -- 一个方阵。

  • b ((M,) or (M, N) array_like) -- 方程 a x = b 中的右端矩阵。

  • sym_pos (bool) -- 假设 a 是对称正定矩阵。如果为 True,则使用 Cholesky 分解。

  • sparse (bool, optional) -- 是否返回稀疏值。

返回:

  • x ((M,) 或 (M, N) ndarray)

  • 方程 a x = b 的解。返回值的形状与

  • b 的形状一致。

抛出:
  • LinAlgError --

  • If a is singular. --

示例

给定 ab,求解 x

>>> import maxframe.tensor as mt
>>> a = mt.array([[3, 2, 0], [1, -1, 0], [0, 5, 1]])
>>> b = mt.array([2, 4, -1])
>>> x = mt.linalg.solve(a, b)
>>> x.execute()
array([ 2., -2.,  9.])
>>> mt.dot(a, x).execute()  # Check the result
array([ 2., 4., -1.])