以下动态数组包含一个非对称 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 页中的数值食谱,使用 LU 分解。