/*矩阵原型
| 1.0 1.0 1.0 1.0 0.0 0.0 0.0 0.0 0.0 |
| 1.0 1.0 1.0 1.0 1.0 0.0 0.0 0.0 0.0 |
| 4.0 1.0 1.0 1.0 1.0 1.0 0.0 0.0 0.0 |
| 0.0 5.0 1.0 1.0 1.0 1.0 1.0 0.0 0.0 |
A = | 0.0 0.0 6.0 1.0 1.0 1.0 1.0 1.0 0.0 |
| 0.0 0.0 0.0 7.0 1.0 1.0 1.0 1.0 1.0 |
| 0.0 0.0 0.0 0.0 8.0 1.0 1.0 1.0 1.0 |
| 0.0 0.0 0.0 0.0 0.0 9.0 1.0 1.0 1.0 |
| 0.0 0.0 0.0 0.0 0.0 0.0 10.0 11.0 12.0 |
*/
//column major stored:
float amatrix[81]={
1.0, 1.0, 4.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
1.0, 1.0, 1.0, 5.0, 0.0, 0.0, 0.0, 0.0, 0.0,
1.0, 1.0, 1.0, 1.0, 6.0, 0.0, 0.0, 0.0, 0.0,
1.0, 1.0, 1.0, 1.0, 1.0, 7.0, 0.0, 0.0, 0.0,
0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 8.0, 0.0, 0.0,
0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 9.0, 0.0,
0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0,10.0,
0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0,11.0,
0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0,12.0
};
一步一步partial Pivoting:
MatrixA(9,9), MatrixB(9,9)
h_B:
1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000
1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000
4.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000
0.00000 5.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000
0.00000 0.00000 6.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000
0.00000 0.00000 0.00000 7.00000 1.00000 1.00000 1.00000 1.00000 1.00000
0.00000 0.00000 0.00000 0.00000 8.00000 1.00000 1.00000 1.00000 1.00000
0.00000 0.00000 0.00000 0.00000 0.00000 9.00000 1.00000 1.00000 1.00000
0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 10.00000 11.00000 12.00000
h_B_LU_0th:
4.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000
0.25000 0.75000 0.75000 0.75000 0.75000 -0.25000 0.00000 0.00000 0.00000
0.25000 0.75000 0.75000 0.75000 -0.25000 -0.25000 0.00000 0.00000 0.00000
0.00000 5.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000
0.00000 0.00000 6.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000
0.00000 0.00000 0.00000 7.00000 1.00000 1.00000 1.00000 1.00000 1.00000
0.00000 0.00000 0.00000 0.00000 8.00000 1.00000 1.00000 1.00000 1.00000
0.00000 0.00000 0.00000 0.00000 0.00000 9.00000 1.00000 1.00000 1.00000
0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 10.00000 11.00000 12.00000
h_B_LU_1th:
4.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000
0.00000 5.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000
0.25000 0.15000 0.60000 0.60000 -0.40000 -0.40000 -0.15000 0.00000 0.00000
0.25000 0.15000 0.60000 0.60000 0.60000 -0.40000 -0.15000 0.00000 0.00000
0.00000 0.00000 6.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000
0.00000 0.00000 0.00000 7.00000 1.00000 1.00000 1.00000 1.00000 1.00000
0.00000 0.00000 0.00000 0.00000 8.00000 1.00000 1.00000 1.00000 1.00000
0.00000 0.00000 0.00000 0.00000 0.00000 9.00000 1.00000 1.00000 1.00000
0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 10.00000 11.00000 12.00000
h_B_LU_2th:
4.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000
0.00000 5.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000
0.00000 0.00000 6.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000
0.25000 0.15000 0.10000 0.50000 0.50000 -0.50000 -0.25000 -0.10000 0.00000
0.25000 0.15000 0.10000 0.50000 -0.50000 -0.50000 -0.25000 -0.10000 0.00000
0.00000 0.00000 0.00000 7.00000 1.00000 1.00000 1.00000 1.00000 1.00000
0.00000 0.00000 0.00000 0.00000 8.00000 1.00000 1.00000 1.00000 1.00000
0.00000 0.00000 0.00000 0.00000 0.00000 9.00000 1.00000 1.00000 1.00000
0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 10.00000 11.00000 12.00000
h_B_LU_3th:
4.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000
0.00000 5.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000
0.00000 0.00000 6.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000
0.00000 0.00000 0.00000 7.00000 1.00000 1.00000 1.00000 1.00000 1.00000
0.25000 0.15000 0.10000 0.07143 -0.57143 -0.57143 -0.32143 -0.17143 -0.07143
0.25000 0.15000 0.10000 0.07143 0.42857 -0.57143 -0.32143 -0.17143 -0.07143
0.00000 0.00000 0.00000 0.00000 8.00000 1.00000 1.00000 1.00000 1.00000
0.00000 0.00000 0.00000 0.00000 0.00000 9.00000 1.00000 1.00000 1.00000
0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 10.00000 11.00000 12.00000
h_B_LU_4th:
4.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000
0.00000 5.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000
0.00000 0.00000 6.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000
0.00000 0.00000 0.00000 7.00000 1.00000 1.00000 1.00000 1.00000 1.00000
0.00000 0.00000 0.00000 0.00000 8.00000 1.00000 1.00000 1.00000 1.00000
0.25000 0.15000 0.10000 0.07143 0.05357 -0.62500 -0.37500 -0.22500 -0.12500
0.25000 0.15000 0.10000 0.07143 -0.07143 -0.50000 -0.25000 -0.10000 0.00000
0.00000 0.00000 0.00000 0.00000 0.00000 9.00000 1.00000 1.00000 1.00000
0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 10.00000 11.00000 12.00000
h_B_LU_5th:
4.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000
0.00000 5.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000
0.00000 0.00000 6.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000
0.00000 0.00000 0.00000 7.00000 1.00000 1.00000 1.00000 1.00000 1.00000
0.00000 0.00000 0.00000 0.00000 8.00000 1.00000 1.00000 1.00000 1.00000
0.00000 0.00000 0.00000 0.00000 0.00000 9.00000 1.00000 1.00000 1.00000
0.25000 0.15000 0.10000 0.07143 -0.07143 -0.05556 -0.19444 -0.04444 0.05556
0.25000 0.15000 0.10000 0.07143 0.05357 -0.06944 -0.30556 -0.15556 -0.05556
0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 10.00000 11.00000 12.00000
h_B_LU_6th:
4.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000
0.00000 5.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000
0.00000 0.00000 6.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000
0.00000 0.00000 0.00000 7.00000 1.00000 1.00000 1.00000 1.00000 1.00000
0.00000 0.00000 0.00000 0.00000 8.00000 1.00000 1.00000 1.00000 1.00000
0.00000 0.00000 0.00000 0.00000 0.00000 9.00000 1.00000 1.00000 1.00000
0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 10.00000 11.00000 12.00000
0.25000 0.15000 0.10000 0.07143 0.05357 -0.06944 -0.03056 0.18056 0.31111
0.25000 0.15000 0.10000 0.07143 -0.07143 -0.05556 -0.01944 0.16944 0.28889
h_B_LU_7th:
4.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000
0.00000 5.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000
0.00000 0.00000 6.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000
0.00000 0.00000 0.00000 7.00000 1.00000 1.00000 1.00000 1.00000 1.00000
0.00000 0.00000 0.00000 0.00000 8.00000 1.00000 1.00000 1.00000 1.00000
0.00000 0.00000 0.00000 0.00000 0.00000 9.00000 1.00000 1.00000 1.00000
0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 10.00000 11.00000 12.00000
0.25000 0.15000 0.10000 0.07143 0.05357 -0.06944 -0.03056 0.18056 0.31111
0.25000 0.15000 0.10000 0.07143 -0.07143 -0.05556 -0.01944 0.93846 -0.00308
h_B_LU_8th:
4.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000
0.00000 5.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000
0.00000 0.00000 6.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000
0.00000 0.00000 0.00000 7.00000 1.00000 1.00000 1.00000 1.00000 1.00000
0.00000 0.00000 0.00000 0.00000 8.00000 1.00000 1.00000 1.00000 1.00000
0.00000 0.00000 0.00000 0.00000 0.00000 9.00000 1.00000 1.00000 1.00000
0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 10.00000 11.00000 12.00000
0.25000 0.15000 0.10000 0.07143 0.05357 -0.06944 -0.03056 0.18056 0.31111
0.25000 0.15000 0.10000 0.07143 -0.07143 -0.05556 -0.01944 0.93846 -0.00308
h_B_LU:
4.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000
0.00000 5.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000
0.00000 0.00000 6.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000
0.00000 0.00000 0.00000 7.00000 1.00000 1.00000 1.00000 1.00000 1.00000
0.00000 0.00000 0.00000 0.00000 8.00000 1.00000 1.00000 1.00000 1.00000
0.00000 0.00000 0.00000 0.00000 0.00000 9.00000 1.00000 1.00000 1.00000
0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 10.00000 11.00000 12.00000
0.25000 0.15000 0.10000 0.07143 0.05357 -0.06944 -0.03056 0.18056 0.31111
0.25000 0.15000 0.10000 0.07143 -0.07143 -0.05556 -0.01944 0.93846 -0.00308
Pivot_cpu:
3 4 5 6 7 8 9 8 9 Computing result using CUDA Kernel...
done
选出当前列中剩余元素的最大值的行号imax,将 i 行 与 imax行进行全行交换。
参考网址:
^_^