diff --git a/src/StaticModel.cc b/src/StaticModel.cc index 0ac6aaf1a7a37f96681f88e699375ecf018431b0..5c30f2ad0ade788ced8381707db31f8d01159b31 100644 --- a/src/StaticModel.cc +++ b/src/StaticModel.cc @@ -687,7 +687,8 @@ StaticModel::computeChainRuleJacobian() { auto &[eq, var, lag] { indices }; assert(lag == 0); - blocks_jacobian_sparse_column_major_order[blk].emplace(pair{eq, var}, d1); + if (eq >= nb_recursives && var >= nb_recursives) + blocks_jacobian_sparse_column_major_order[blk].emplace(pair{eq-nb_recursives, var-nb_recursives}, d1); } blocks_jacobian_sparse_colptr[blk] = computeCSCColPtr(blocks_jacobian_sparse_column_major_order[blk], size); }