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

```

• Prev by Date: Antwort: Simplifying things
• Next by Date: Re: Simplifying with positive constants
• Previous by thread: Antwort: Simplifying things
• Next by thread: finding the k-nearest neighbour