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
Adiabatic white dwarfs
Cold neutron stars
Stellar opacities
Neutrino energy loss rates
Ephemeris routines
FermiDirac functions
Polyhedra volume
Plane  cube intersection
Coating an ellipsoid
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
Hydrodynamic test cases
Galactic chemical evolution
Universal twobody problem
Circular and elliptical 3 body
The pendulum
Phyllotaxis
MESA
MESAWeb
FLASH
Zingale's software
Brown's dStar
GR1D code
Iliadis' STARLIB database
Herwig's NuGRID
Meyer's NetNuc
Presentations
Illustrations
cococubed YouTube
Bicycle adventures
Public Outreach
Education materials
AAS Journals
AAS Youtube
2020 Celebration of Margaret Burbidge
2020 Digital Infrastructure
2021 MESA Marketplace
2021 MESA Summer School
2021 ASU Solar Systems
2021 ASU Energy in Everyday Life
Contact: F.X.Timmes
my one page vitae,
full vitae,
research statement, and
teaching statement.

The source code in gift.tbz
writes source code to solve a system of linear equations by Gaussian elimination.
It is setup for a 10x10 tridiagonal matrix. Giftgenerated routines skip calculations
with matrix elements that are zero; in this restricted 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 tool writes out the sequence of Gaussian elimination and
backsubstitution steps without any do loop constructions over the matrix elements
(see the snippet elow)
Thus, gift generated subroutines can become 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.
