7

これは私の最初の投稿です...

別のベクトルのヌル空間でベクトルを計算する方法はありますか? 基底は必要ありません。null 空間のベクトルが 1 つあれば十分です。

私はすでに solve() メソッドを使用してみました -

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

ここで、A はマット型の 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 の null スペースを取得しました。答えの精度。
ありがとう!

4

1 に答える 1

5

最近のバージョンの armadillo ライブラリでは、関数を使用して行列のヌル空間の正規直交基底を見つけることができますnull()http://arma.sourceforge.net/docs.html#nullのドキュメントを参照してください。この機能は、バージョン 5.400 (2015 年 8 月) で追加されました。

于 2015-10-18T21:20:49.107 に答える