!急求!全选主元高斯-约当消去法求解线性方程组的串行算法和并行算法代码

最好加上结果测试,运行,,给高分!!!!
我要的是C++或者C语言

求行列式值的全选主元高斯消去法 java核心算法代码 (2009-09-18 09:29:28)转载
标签: 杂谈 分类: Java技术
核心代码如下所示,其中,numRows*numColumns方针的所有元素存储在double elements[]数组中,其中,矩阵元素a[i][j]对应于元素elements[i*numColumns+j].

public double computeDetGauss() {
int is = 0, js = 0;//第i行右下角矩阵'绝对值最大的元素'的行&列号
int l, u, v; //numRows*numColumns方阵排成行后,元素a[i][j]的下标
double temp;//临时变量
// 初值
double f = 1.0;//行列式求解中对调一行or列(每置换一次,行列式变号一次)
double det = 1.0;//待返回的行列式值
// 消元
for (int k = 0; k <= numColumns - 2; k++) {//第k列(从0开始,到col-2列)
double q = 0.0;//第k行k列右下角矩阵'绝对值最大的元素'值

for (int i = k; i <= numColumns - 1; i++) {//从第i行(i>=k),到
for (int j = k; j <= numColumns - 1; j++) {//列
l = i * numColumns + j;//第i行第j列的元素下标
temp = Math.abs(elements[l]);//元素a[i][j]
if (temp > q) {//元素d=a[i][j]更大
q = temp;//更新"最大"
is = i;//右下角矩阵'绝对值最大的元素'的行号
js = j;//右下角矩阵'绝对值最大的元素'的列号
}
}
}
if (q == 0.0) {//第k行k列右下角矩阵全为0!!!
det = 0.0;
return (det); //行列式=0
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-05-22

相似回答