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