这是我第一次发帖...
有没有办法在另一个向量的零空间中计算一个向量?我不需要基础,只需零空间中的一个向量即可。
我已经尝试过使用 solve() 方法 -
colvec x(3);
x = solve(A,B);
其中 A 是 mat 类型的 3x3 矩阵 -
2 2 2
3 3 3
4 4 4
B 是 colvec 类型的零向量 -
0
0
0
但程序终止抛出以下错误 -
error: solve(): solution not found
terminate called after throwing an instance of 'std::runtime_error'
what():
我之前用过solve()方法,得到了完美的结果,但在这种简单的情况下似乎不起作用。这是因为方程有多个解吗?如果是这样,是否有任何解决方法,我可以在零空间中获得向量的任何其他方式?
任何帮助,将不胜感激。
编辑 :
我尝试了 svd(mat U, vec s, mat V, mat X, method = "standard") 方法,我从 V 的列中得到了 X 的空空间。我只是想知道是否有任何方法可以改进答案的准确性。
谢谢!