我正在努力解决我认为是一个简单的问题。我寻求Ax = b的非平凡解,其中b是零向量,A是已知的符号元素矩阵(非奇异)。 Matlab不允许对其svd函数进行非数字输入,因此我安装了sympy模块,并尝试使用以下代码来解决我的问题。
from numpy import *
from sympy import *
import sympy.matrices.matrices
a2, a3, k2_prime, rho2, rho2_prime_prime = symbols('a2 a3 k2_prime rho2 rho2_prime_prime', real=True)
A = Matrix([[exp(rho2*a2) , -exp(1j*k2_prime*a2), -exp(-1j*k2_prime*a2) , 0],
[rho2*exp(rho2*a2), -1j*k2_prime*exp(1j*k2_prime*a2), -1j*k2_prime*exp(-1j*k2_prime*a2), 0],
[0, exp(1j*k2_prime*a3), exp(-1j*k2_prime*a3), exp(-rho2_prime_prime*a3)],
[0, 1j*k2_prime*exp(1j*k2_prime*a3), -1j*k2_prime*exp(-1j*k2_prime*a3), -rho2_prime_prime*exp(-rho2_prime_prime*a3)]])
g = MatrixBase.singular_values(A)
print g
结果是一个空矩阵,显然不正确。有谁知道我做错了什么?有没有更好的方法来解决这个问题?