///|
/// Analytic derivative without dividing by concentration: valid at zero.
pub fn Network::jacobian(
self : Network,
state : Array[Double],
) -> Array[Array[Double]] raise KineticsError {
self.validate_concentrations(state)
let n = self.names.length()
let matrix = Array::makei(n, _ => Array::make(n, 0.0))
for r in self.reactions {
for col in 0.. Array[Array[Double]] raise KineticsError {
let a = self.propensities(counts)
let s = self.stoichiometry()
let n = self.names.length()
let result = Array::makei(n, _ => Array::make(n, 0.0))
for i in 0..