Skip to content

Commit f6322c2

Browse files
committed
Fix gauss_jordan_elimination.ipynb
1 parent b503f7f commit f6322c2

1 file changed

Lines changed: 8 additions & 2 deletions

File tree

static/gaussian-elimination/gauss_jordan_elimination.ipynb

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,25 +10,31 @@
1010
" # 前進消去\n",
1111
" for i in range(len(a)):\n",
1212
" # 部分ピボット選択\n",
13+
" max_index = i\n",
1314
" for j in range(i + 1, len(a)):\n",
14-
" if abs(a[i][i]) < abs(a[j][i]):\n",
15-
" a[i], a[j] = a[j], a[i]\n",
15+
" if abs(a[max_index][i]) < abs(a[j][i]):\n",
16+
" max_index = j\n",
17+
" a[i], a[max_index] = a[max_index], a[i]\n",
1618
"\n",
1719
" # pivot倍で行を割る\n",
1820
" pivot = a[i][i]\n",
1921
" for j in range(i, len(a[i])):\n",
2022
" a[i][j] /= pivot\n",
2123
"\n",
24+
" # highlight-start\n",
2225
" # 掃き出す\n",
2326
" for j in range(len(a)):\n",
2427
" if j != i:\n",
2528
" factor = a[j][i]\n",
2629
" for k in range(i, len(a[i])):\n",
2730
" a[j][k] -= factor * a[i][k]\n",
31+
" # highlight-end\n",
32+
" # highlight-start\n",
2833
" x = []\n",
2934
" for i in range(len(a)):\n",
3035
" x.append(a[i][len(a[i]) - 1])\n",
3136
" return x\n",
37+
" # highlight-end\n",
3238
"\n",
3339
"\n",
3440
"print(gauss_jordan_elimination([[0, -2, 3, 2], [-1, 3, -2, 1], [1, -1, 6, 11]]))"

0 commit comments

Comments
 (0)