1. &nbsp &nbsp Chemical Reaction Network Jacobian

2. &nbsp &nbsp Deficiency and YAk Representation
of Chemical Network

1. &nbsp &nbsp Chemical Reaction Network Jacobian

The Mathematica files provided on this page contain software
for dealing with equations
that come from chemical reaction networks.
These equations are ordinary differential equations of the
form dx/dt=f(x);
some properties
of these equations relating to steady states are often discernable from the Jacobian, f ',
of f.
Our main purpose is to

compute the Jacobian f ' of f
(given say the stoichiometric matrix)

compute
the Craciun-Feinberg (CF) determinant of f '
(governs systems with outflows for all species with outflow rate constants equal to one)

compute
the more general Helton-Klep-Gomez core determinant of f '
(governs systems with any number of outflows)

BASIC NOTEBOOKS: chemdemo.nb is a self-contained
demo notebook that contains all the commands we have implemented,
along with potentially helpful comments.
It also contains an example stoichiometric matrix illustrating
the procedure one would use to compute the Craciun-Feinberg determinant.
To run the notebook, just evaluate each cell in order.

chemJac.m is a command file
that contains the same commands as in the chemdemo file.
It is required for the following files and should probably be used
if you want to run the commands in your own notebooks.
To use it, download the file and place it in a directory where
Mathematica looks for files (you can get a list of such
directories by entering "$Path" in a Mathematica notebook).
Putting in your notebook the
Mathematica command SetDirectory["ADirectoryYouLike"] makes the notebook
look in ADirectoryYouLike. After setting paths,
enter <

EXAMPLES: From Craciun, Helton and Williams,
"Homotopy Methods For Counting Reaction Network Equilibria"
The following notebooks contain the examples in Sec. 6 (as well as one from Sec. 2) of the
paper "Homotopy Methods For Counting Reaction Network Equilibria"
by Craciun, Helton and Williams (the paper is available
here).
To run the notebooks you need to have the "chemJac.m"
file downloaded and placed in an appropriate directory.
After this has been done, you can run the notebooks by evaluating
each cell in order.

PDF FILES: Here are some samples of the above Mathematica files in PDF format, in case you do not have Mathematica: chemdemo - the demo file Example 6.1 - a mass-action example Example 6.5 - a non-mass-action example

ACKNOWLEDGEMENTS:
Development of this software was supported by J. W. Helton's NSF grants
DMS - 0700758 and DMS 0757212.
Vitaly Katsnelson contributed suggestions and debugging.
Gheorghe Craciun originally computed some of the CF determinants
for examples in the Craciun, Helton and Williams paper symbolically.
We are grateful to him
for sharing his computations with us.

2. &nbsp &nbsp Deficiency and YAk Representation
of Chemical Network

This Mathematica software allows us to compute the deficiency of a chemical reaction network
as well as conversion of representations as follows.
One starts with the traditional representation with S the stoichiometric
matrix and v(x) the flux vector:

dx/dt = Sv(x)

Our program produces the representation

Sv(x) = YAk ψ(x)

where Ak is the Laplacian of the "complexes graph" of the chemical reaction network.
Y is the matrix whose columns are indexed by complexes
and which contain nonzero entries corresponding to chemical species
which enter the complex.
Our commands also allows you to:

BASIC NOTEBOOKS: chemYAk.m is a command file
that contains the same commands as in the chemYAk.nb notebook file.
It is required for the following files and should probably be used
if you want to run the commands in your own notebooks.
To use it, download the file and place it in a directory where
Mathematica looks for files (you can get a list of such
directories by entering "$Path" in a Mathematica notebook).
Putting in your notebook the
Mathematica command SetDirectory["ADirectoryYouLike"] makes the notebook
look in ADirectoryYouLike. After setting paths,
enter <
chemYAkdemo.nb
is a demo notebook that illustrates all
the commands we have implemented.
It is for users.

chemYAk.nb is a self-contained
demo notebook that contains all the commands we have implemented.
It is for geeks who want to fiddle with the program.
It is not so much for users.

A Mathematica BEGINNER MIGHT FIND THE NOTEBOOKS IN PART 1, a bit more gentilely
documented.

PDF FILES: Here are some samples of the above
Mathematica files in PDF format, in case you do not have Mathematica: chemYAkdemo - the demo notebook chemYAk - the expanded demo notebook containing all the command implementations