试了下 scipy.linalg 的 solve 和 lstsq ,前者直接要求 A 满秩(可逆),后者似乎也没法得出通解。
比如 ax=b
a = np.array([[2, -2, -4], [-1, 3, 4], [1, -2, -3]])
b = np.array([0, 0, 0])
要如何才能得出通解 x 为 c * [1, -1, 1] 呢?
1
hedaors 2015-10-26 00:43:33 +08:00 1
你这个不就是求解矩阵本征矢么?
用 np.linalg.eig 就行。而且你会有 3 组解,不是一组解。 给出的本征失是归一化的,也就是你所说的 [1, -1, 1] 其实会是 [0.57735027, -0.57735027, 0.57735027] |
2
canautumn 2015-10-26 00:46:35 +08:00 1
从另一个角度来说,通解里边有 c ,所以是 sympy 的范畴。按照这里的任意一种方法可解: http://stackoverflow.com/questions/31547657/how-can-i-solve-system-of-linear-equations-in-sympy
|
5
fatea OP |