We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 75533f3 commit 074159aCopy full SHA for 074159a
math/gauss.md
@@ -0,0 +1,21 @@
1
+gauss消元模板
2
+#gauss_jordan对角消元
3
+```c++
4
+typedef double Matrix[maxn][maxn];
5
+int n;
6
+//消元为对角阵
7
+void gauss_jordan(Matrix A,int n){
8
+ //A增广矩阵,第n列是结果列
9
+ for(int i=0 ; i<n ; ++i){
10
+ int r = i;//元素最大列
11
+ for(int j = i+1 ; j<n ; ++j)
12
+ if(abs(A[j][i]) > abs(A[r][i]))r = j;
13
+ if(abs(A[r][i]) < eps)continue;
14
+ if(r!=i)for(int j = 0 ; j<=n; ++j)swap(A[r][j],A[i][j]);//交换
15
+ //与i行以外的所有行消元,化为阶梯阵,与gauss消元的不同
16
+ for(int k=0 ; k<n ; ++k)
17
+ if(k!=i)
18
+ for(int j = n ; j>=i ; --j)A[k][j] -=A[k][i]/A[i][i]*A[i][j];//精度.
19
+ }
20
+}
21
+```
0 commit comments