使用scipy.linalg.solve_triangular解决xA = b

时间:2014-02-24 21:52:44

标签: python scipy linear-algebra

我想使用scipy.linalg.solve_triangular()来解决xA = b(而不是Ax = b)形式的系统。是否有捷径可寻?我认为我可以在使用该功能之前调换所有内容,但似乎无法正常工作。任何帮助表示赞赏,我是该领域的初学者!

1 个答案:

答案 0 :(得分:3)

向量x必须是(1 x n);矩阵A必须是(n×m);向量b必须为(1 x m)。

如果你采取双方的转置,你会得到:

(xA)^T = b^T

重新排列LHS:

(A^T)(x^T) = b^T

现在A ^ T是一个(m×n)矩阵; x是(n×1)向量; b是(m×1)向量。

如果A是正方形且对称的,那么根据定义A ^ T = A.无需工作。

您可以使用常规技巧解决x^T = (A^T)^-1 (b^T)

我不建议计算矩阵逆。如果矩阵是方形的,那么最好使用LU分解和前后替换。它更加稳定。