# Possibility of factorization for ODEs produced by a mass action chemical reaction network

**URL:** <https://discourse.julialang.org/t/possibility-of-factorization-for-odes-produced-by-a-mass-action-chemical-reaction-network/122950>\
**Category:** Modelling & Simulations\
**Tags:** catalyst\
**Created:** [November 22, 2024, 11:15am UTC](https://discourse.julialang.org/t/possibility-of-factorization-for-odes-produced-by-a-mass-action-chemical-reaction-network/122950 "2024-11-22T11:15:57Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![adhalanay](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/adhalanay/32/7371_2.png) [@adhalanay](https://discourse.julialang.org/u/adhalanay)\
**Post date:** [November 22, 2024, 11:15am UTC](https://discourse.julialang.org/t/possibility-of-factorization-for-odes-produced-by-a-mass-action-chemical-reaction-network/122950/1 "2024-11-22T11:15:57Z")

</div>

In the algebraic approach to mass action chemical reaction networks there is a very useful factorization of the RHS of the ODE system

\frac{dx}{dt}=Y\cdot A\_k \cdot \Phi(x),

where Y is the complex stoichiometric matrix, A\_k=-L\_k and \Phi(x) is the vector of monomials. In order to define L\_k consider the complex graph associated to the CRN as a weighted directed graph with reaction rates as weights and then L\_k is its Laplacian matrix.

Y is given by the `Catalyst` function `complexstoichmat()`. My question is if there are other functions to compute the other two factors, or at least the possibility to construct the weighted graph.

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [November 22, 2024, 11:29am UTC](https://discourse.julialang.org/t/possibility-of-factorization-for-odes-produced-by-a-mass-action-chemical-reaction-network/122950/2 "2024-11-22T11:29:12Z")

</div>

I’m not sure there is right now an exposed utility on this, but open an issue on Catalyst and it’s likely not hard to make.
