any faster method than eigenfunction[] for tridiagonal matrices?
- To: mathgroup at smc.vnet.net
- Subject: [mg27872] any faster method than eigenfunction[] for tridiagonal matrices?
- From: Art Croucher <art.croucher at jhuapl.edu>
- Date: Thu, 22 Mar 2001 04:30:11 -0500 (EST)
- Organization: Johns Hopkins University Applied Physics Lab, Laurel, MD, USA GMT)
- Sender: owner-wri-mathgroup at wolfram.com
Hi -
I am developing a fluid dynamics model and have run into a bottleneck using
eigenfunction[] to solve tridiagonal matrices with n on the order of 100.
(I'm spending a lot of development time waiting for this to run!)
Are there any faster solution methods available in or callable from
Mathematica?
The development is being done with 4.1 on a G3 with enough memory.
Thanks,
Art
art.croucher at jhuapl.edu
PS: My nice image of the matrix didn't work in the post, so here is a
description:
We need to find eigenvalues and eigenvectors of a tridiagonal matrix, which
is in general not symmetric. Although it is not symmetric, it does have
some specific properties beyond being tridiagonal:
Let n be the dimension of the matrix. Let p be a constant greater than or
equal to 2, and let {a(1), a(2), .., a(n)} be a vector of nonzero positive
values. Then the kth row of the matrix consists of all zeros except for
m(k, k-1) = -a(k)
m(k, k) = pa(k)
m(k, k+1) = -a(k)
The nonzero elements for the first and last rows are:
m(1, 1) = p a(1)
m(1, 2) = -a(1)
m(n, n-1) = -a(n)
m(n, n) = p a(n)