MathGroup Archive 2000

[Date Index] [Thread Index] [Author Index]

Search the Archive

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