Efficient Fortran Subroutines for Matrix Diagonalisation: Small Matrices

  • Thread starter Thread starter Morberticus
  • Start date Start date
  • Tags Tags
    Matrix
Morberticus
Messages
82
Reaction score
0
Hi,

I'm looking for a matrix diagonalisation subroutine in fortran. Does anyone know of any online sources for such things? The matrices are small (The largest being 100x100) so LAPACK/BLAS seems like overkill.
 
Physics news on Phys.org
Why do you think LAPACK is "overkill"? The reason the code may look complicated is because it is carefully written to handle any numbers that are thrown at them, but it doesn't add anything significant to the computing time.

You don't need to understand what every line of the code is for. Just compile the libraries and use them.
 
LAPACK is large because it is designed to provide many different kinds of matrix solutions. You say your largest problem will be the diagonalization of a 100 x 100 matrix. How are these matrices obtained? For example, finite elements typically produce banded matrices, where zeros appear in a large number of the cells, and the remaining elements are symmetric about the main diagonal. Boundary elements typically produce fully populated matrices where zero elements are rare. Least squares regression analyses produce matrices which can be difficult to diagonalize unless you have access to special routines or have a machine capable of doing extra-long floating point precision. What's yer poison?
 
Back
Top