Tridiagonal problem
- To: mathgroup at smc.vnet.net
- Subject: [mg26137] Tridiagonal problem
- From: Mike <m.honeychurch at sci.monash.edu.au>
- Date: Tue, 28 Nov 2000 01:56:36 -0500 (EST)
- Organization: Monash Uni
- Sender: owner-wri-mathgroup at wolfram.com
I am trying to solve a finite difference problem which involves solving the following matrix at each time step (fully implicit method): A.x = b b is a vector...actually a matrix. b = {{a1,a2},{b1,b2},{c1,c2}...} A is a tridiagonal matrix. Normally there is no problem solving this of course using TridiagonalSolve or the sparse matrix solver. The catch is that the first element of the main diagonal is a matrix. The matrix is required to solve the boundary condition which must be re-evaluated at each time step. When b is a list of pairs of data, as shown above, A[[1,1]] will be a 2 X 2 matrix. I can solve this equation using a variation of the Thomas algorithm (I think thats what its called) with FoldList but I'm finding it fairly slow and was wondering if their is a more direct way of going about it using any of the mathematica matrix solving objects. thanks Mike