我对下三角矩阵的高斯消除有一个麻烦,我无法想象循环应该如何在这里工作。我试图向后循环,但它没有帮助。目前,我所得到的只是上三角矩阵的高斯消元。
For[k = 1, k <= size - 1, k++,
For[i = k + 1, i <= size, i++,
If[tab[[k]][[k]] != 0,
help = tab[[i]][[k]]/tab[[k]][[k]];
For[j = k, j <= size, j++,
tab[[i]][[j]] = tab[[i]][[j]] - help*tab[[k]][[j]];
identity[[i]][[j]] = identity[[i]][[j]] - help*tab[[k]][[j]]
]
]
]
]
有人能帮助我吗?
@edit
我做了那样的循环
For[k = size, k > 1, k--,
For[i = k - 1, i >= 1, i--,
它似乎有效,但现在我遇到了问题,因为这两个循环并没有给出可逆矩阵。
示例矩阵:
[ 3 4 2 ]
[ 5 5 5 ]
[ 1 5 3 ]
上对角线的输出
[3 4 2 ]
[0 -5/3 5/3 ]
[0 0 6 ]
Identity-Matrix的输出
[1 0 0 ]
[-5 -17/3 -10/3 ]
[-1 -5 -4 ]
现在,当我为低对角线运行循环时,它的输出不正确。它没有划分主对角线
答案 0 :(得分:0)
嗯,实际上我发现了问题,但我不知道怎么解决这个问题 - 上三角矩阵循环工作正常,但问题是下三角形问题,它不分割对角线上的元素。