次の動的配列には、非対称 n*n 行列 (n <=100) が含まれています。
int **matrix;
matrix = new int*[n];
for (int i = 0; i < n; i++)
matrix[i] = new int[n];
それを逆にする非常に簡単な方法はありますか?理想的には、STL から何かを使用するか、単一のヘッダー ファイルをダウンロードするだけです。
次の動的配列には、非対称 n*n 行列 (n <=100) が含まれています。
int **matrix;
matrix = new int*[n];
for (int i = 0; i < n; i++)
matrix[i] = new int[n];
それを逆にする非常に簡単な方法はありますか?理想的には、STL から何かを使用するか、単一のヘッダー ファイルをダウンロードするだけです。
アイゲンを使用。
http://eigen.tuxfamily.org/index.php?title=Main_Page
配列を固有行列にマップしてから、効率的な行列反転を実行できます。
それのみを含める必要があります。
通常、線形システムを解くために反転を実行する必要がある場合は、利用できる行列のプロパティに基づいて行列分解を使用することをお勧めします。
非常に簡単ではありませんが、うまくいきます: c 48 ページの Numerical Recipes、 LU 分解を使用します。