下三角矩阵的高斯消元法

时间:2016-12-18 23:01:52

标签: wolfram-mathematica gaussian

我对下三角矩阵的高斯消除有一个麻烦,我无法想象循环应该如何在这里工作。我试图向后循环,但它没有帮助。目前,我所得到的只是上三角矩阵的高斯消元。

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  ]

现在,当我为低对角线运行循环时,它的输出不正确。它没有划分主对角线

1 个答案:

答案 0 :(得分:0)

嗯,实际上我发现了问题,但我不知道怎么解决这个问题 - 上三角矩阵循环工作正常,但问题是下三角形问题,它不分割对角线上的元素。