From 0919278d8ac4d908c56d67c330e044d4a7cb18ee Mon Sep 17 00:00:00 2001 From: Michael Zingale Date: Thu, 16 Jan 2025 20:43:39 -0500 Subject: [PATCH] update the templated network docs linear algebra (#1712) we do not skip zeros, since we were doing that incorrectly previously --- Docs/source/templated_networks.rst | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/Docs/source/templated_networks.rst b/Docs/source/templated_networks.rst index c6bb55cdae..2f64c65af2 100644 --- a/Docs/source/templated_networks.rst +++ b/Docs/source/templated_networks.rst @@ -384,16 +384,11 @@ Linear Algebra The VODE integrator needs routines to do LU factorization and back substitution. We build off of the linpack ``dgefa`` and ``dgesl`` -routines, but because we know at compile time which Jacobian terms are -non-zero, we are able to use ``constexpr`` for-loops to only do the -calculations on non-zero elements. This greatly reduces the amount of work -in the linear algebra. +routines, using ``constexpr`` for-loops that know the network size +at compile time. -Note: - -* Currently we are still storing a dense Jacobian -- we just skip computation - on the elements that are 0. +.. note:: -* These routines do not perform pivoting. This does not seem to be an - issue for the types of matrices we solve with reactions (since they are - all of the form :math:`I - \tau J`, where :math:`tau` is the timestep). + These routines do not perform pivoting. This does not seem to be an + issue for the types of matrices we solve with reactions (since they are + all of the form :math:`I - \tau J`, where :math:`tau` is the timestep).