*
Cococubed.com


Unusual Linear Equation Solver

Home

Teaching materials
Astronomy research
Astronomy codes
... Stellar equation of states
... EOS with ionization
... EOS for supernovae
... Chemical potentials
... Stellar atmospheres
... Voigt Function
... Polytropic stars
... Cold white dwarfs
... Hotter white dwarfs
... Cold neutron stars
... Stellar opacities
... Neutrino energy loss rates
... Ephemeris routines
... Fermi-Dirac functions
... Galactic chemical evolution

... Nuclear reaction networks
... Nuclear statistical equilibrium
... Laminar deflagrations
... CJ detonations
... ZND detonations
... Fitting to conic sections
... Unusual linear algebra
... Derivatives on uneven grids
... Pentadiagonal solver
... Quadratics, Cubics, Quartics
... Supernova light curves
... Exact Riemann solutions
... 1D PPM Hydrodynamics
... Verification problems

... EZ stellar evolution
... FLASH code
... Mesa code
Astronomy talks
Astronomy images
Outreach
Family album
Bicycle adventures
Artwork


Contact us:
J.D. Maldonado
F.X.Timmes, my vitae

The code gift.f is a program that generates Fortran subroutines for solving a system of linear equations by Gaussian elimination. It is presently setup for a 10x10 tridiagonal matrix. The code check.f shows you how to use the generated subroutines.

Gift-generated routines skip all calculations with matrix elements that are zero; in this sense gift-generated routines are sparse, but the storage of a full matrix is still required.

Diagonal dominance is assumed, so no row or column interchanges are performed. The routine writes out the sequence of Gaussian elimination and backsubstitution steps without any do loop constructions over the matrix elements. Thus, gift generated subroutines can be quite large. However, for small matrices the execution speed of the generated subroutines on nuclear reaction networks is faster than any of the dense or sparse packages that I've tested.

This version of gift.f is optimized for single processor performance with an eye towards ASCI-class massively parallel machines.


 



Please cite the relevant references if you publish a piece of work that use these codes, pieces of these codes, or modified versions of them. If you're nice, offer co-authorship of the publication. At best, you'll love these programs so much that you'll send great wads of cash to me.