j**n 发帖数: 20 | 1 我现在要解一个非线性的偏微分方程(抛物线形).... 在解过程中会碰到
一个类似与三对角线的矩阵(250X250),不过因为边界条件的缘故,在第一行
第249列多了一个数, 在第250行(最后一行)第二列也多了一个数. 不知道这
个矩阵能用什么方法解? (高斯消元行不通, 太费时间了, 总共有5100个loop,
每个loop都要解一次250X250的矩阵呢)....
有现成的三对角线函数, 不过我不知道该如何 将多出来的两个数算进去.
该矩阵的格式如下:
X X 0 0 0 .................X 0 1
X X X 0 0 ...................0
0 X X X 0 ...................0
0 0 X X X ...................0
. . . . . ....................
. . . . . ....................
. . . . . ....................
. . . . . ...............X X X
0 X 0 0 0 ...... | s*******c 发帖数: 1 | 2 第一次消元得到只有第2和第249列和对角线有菲0元的矩阵。
再分别进行两次消元即可。
第一次消元得到只有第2和第249列和对角线有菲0元的矩阵。
再分别进行两次消元即可。
【在 j**n 的大作中提到】 : 我现在要解一个非线性的偏微分方程(抛物线形).... 在解过程中会碰到 : 一个类似与三对角线的矩阵(250X250),不过因为边界条件的缘故,在第一行 : 第249列多了一个数, 在第250行(最后一行)第二列也多了一个数. 不知道这 : 个矩阵能用什么方法解? (高斯消元行不通, 太费时间了, 总共有5100个loop, : 每个loop都要解一次250X250的矩阵呢).... : 有现成的三对角线函数, 不过我不知道该如何 将多出来的两个数算进去. : 该矩阵的格式如下: : X X 0 0 0 .................X 0 1 : X X X 0 0 ...................0 : 0 X X X 0 ...................0
| z***e 发帖数: 5600 | 3 Seems to be a perfect example of the "cyclic tridiagonal matrix".
You can solve it using the sherman-morrison formula
which tells you how to invert A+u\otimes v.
See Sec 2.7 (p73-75) in Numerical Recipes in C
for details of S-M formula and code for inversion of
cyclic tridigonal matrix.
-Z.
【在 j**n 的大作中提到】 : 我现在要解一个非线性的偏微分方程(抛物线形).... 在解过程中会碰到 : 一个类似与三对角线的矩阵(250X250),不过因为边界条件的缘故,在第一行 : 第249列多了一个数, 在第250行(最后一行)第二列也多了一个数. 不知道这 : 个矩阵能用什么方法解? (高斯消元行不通, 太费时间了, 总共有5100个loop, : 每个loop都要解一次250X250的矩阵呢).... : 有现成的三对角线函数, 不过我不知道该如何 将多出来的两个数算进去. : 该矩阵的格式如下: : X X 0 0 0 .................X 0 1 : X X X 0 0 ...................0 : 0 X X X 0 ...................0
| q*****m 发帖数: 73 | 4 Such kind of Tridiagonal Matrix has been studied
very throughly. Use LU decomposition.
Goto www.nr.com to download the whole chapter 2.4.
(Fortran or C)
Their example matrix is exactly the same as yours.
【在 j**n 的大作中提到】 : 我现在要解一个非线性的偏微分方程(抛物线形).... 在解过程中会碰到 : 一个类似与三对角线的矩阵(250X250),不过因为边界条件的缘故,在第一行 : 第249列多了一个数, 在第250行(最后一行)第二列也多了一个数. 不知道这 : 个矩阵能用什么方法解? (高斯消元行不通, 太费时间了, 总共有5100个loop, : 每个loop都要解一次250X250的矩阵呢).... : 有现成的三对角线函数, 不过我不知道该如何 将多出来的两个数算进去. : 该矩阵的格式如下: : X X 0 0 0 .................X 0 1 : X X X 0 0 ...................0 : 0 X X X 0 ...................0
|
|