gpt4 book ai didi

c++ armadillo - 计算零空间

转载 作者:可可西里 更新时间:2023-11-01 18:37:50 24 4
gpt4 key购买 nike

这是我在这里的第一篇文章...

有什么方法可以在另一个 vector 的零空间中计算一个 vector ?我不需要基,零空间中的一个 vector 即可。

我已经尝试过使用 solve() 方法 -

colvec x(3);
x = solve(A,B);

其中 A 是 mat 类型的 3x3 矩阵 -

2 2 2
3 3 3
4 4 4

B是colvec类型的零 vector -

0
0
0

但是程序终止并抛出以下错误-

error: solve(): solution not found
terminate called after throwing an instance of 'std::runtime_error'
what():

我之前使用过 solve() 方法并得到了完美的结果,但在这种简单的情况下似乎不起作用。这是因为方程有多个解吗?如果是这样,是否有任何解决方法,我可以通过任何其他方式在零空间中获得 vector ?

如有任何帮助,我们将不胜感激。

编辑:

我尝试了 svd(mat U, vec s, mat V, mat X, method = "standard") 方法,我从 V 的列中得到了 X 的空空间。我只是想知道是否有任何方法以提高答案的准确性。
谢谢!

最佳答案

在最新版本的 armadillo 库中,您可以使用 null() 函数找到矩阵零空间的正交基。请参阅 http://arma.sourceforge.net/docs.html#null 处的文档.该功能已添加到版本 5.400(2015 年 8 月)中。

关于c++ armadillo - 计算零空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19882925/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com