• 1.摘要
  • 2.描述
  • 3.算法
  • 4.收敛
  • 5.举例
  • 6.一个用Fortran解的例子

雅可比法

在数值线性代数中,雅可比法(Jacobi Method)是一种解对角元素几乎都是各行和各列的绝对值最大的值的线性方程组的算法。求解出每个对角元素并插入近似值。不断迭代直至收敛。这个算法是雅可比矩阵的精简版。方法的名字来源于德国数学家卡尔·雅可比。

描述

给定一个n×n的线性方程组

image

其中:

image

A 可以分解成对角部分D和剩余部分R:

image

线性方程组可以重写为:

image

雅可比法是一种迭代方法。在每一次迭代中,上一次算出的x被用在右侧,用来算出左侧的新的x。这个过程可以如下表示:

image

对每个元素可以用以下公式:

image

注意计算 xi(k+1)需要x(k)中除了自己之外的每个元素。 不像高斯-赛德尔迭代,我们不能用 xi(k+1)覆盖xi(k),因为在接下来的计算中还要用到这些值。这是雅可比和高斯-塞德尔方法最显著的差别,也是为什么前者可以用并行算法而后者不能的原因。最小需要的存储空间是两个长度为n的向量。

算法

选择一个初始猜想值image

while 未收敛

for i := 1 step until n do

image