

Home Astronomy research Software instruments Stellar equation of states EOS with ionization EOS for supernovae Chemical potentials Stellar atmospheres Voigt Function Jeans escape Polytropic stars Cold white dwarfs Hotter white dwarfs Cold neutron stars Stellar opacities Neutrino energy loss rates Ephemeris routines FermiDirac 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 Plane  Cube Intersection MESA MESAWeb FLASH Zingale's software Brown's dStar GR1D code Iliadis' STARLIB database Herwig's NuGRID Meyer's NetNuc Presentations Illustrations Videos Bicycle adventures AAS Journals 2017 MESA Summer School ASU+EdX AST111x Teaching materials Education and Public Outreach 2016 NSF SI2 PI Workshop Contact: F.X.Timmes my one page vitae, full vitae, research statement, and teaching statement. 
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. Giftgenerated routines skip all calculations with matrix elements that are zero; in this sense giftgenerated 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. 


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. Offer coauthorship as appropriate. 
