注:私はC++用の標準ライブラリを使用しており、多次元ベクトルとして行列を格納しています(下記の例を参照)。C++で2つの行列をどのように掛けるべきですか?
C++で2つの行列を掛ける適切な関数を見つけるのに問題があります。私は何をしようとしている明確にする:
A = | a1 a2 | B = | b1 |
| a3 a4 | | b2 |
Result = | (a1 * b1 + a2 * b2) |
| (a3 * b1 + a4 * b2) |
を明らかに私は単純なアルゴリズムを使用して、これを行うことができますが、私はこれを行うための機能があるかどう見つけようとしています。
C++での私の具体的な例:
" 結果は" だろう#include <vector>
std::vector<std::vector<double>> A;
A.push_back({ 0.96, 0.56 });
A.push_back({ 0.01, 0.41 });
std::vector<std::vector<double>> B;
B.push_back({ 1.331749 });
B.push_back({ 1.0440705 });
Result = (A * B);
:
| 1.8631586 |
| 0.4413864 |
は、どのように私は上記のをやって行くべきですか?
preiciseにするには、ベクトルにベクトルのベクトルとして表される行列をベクトルに乗算しようとしています。 'std :: vector'はこの種のもののために特に設計されていません。何かを試してください。固有ライブラリ –
2つのベクトルを掛け合わせていないので、2つの行列を乗算しています。 C++の標準的なベクトルライブラリは、数学的行列とは何の関係もありません。 (私は数学では、ベクトルは1次元行列と見なされますが、その概念はここでは適用されません) –