From b8d75aa700983c78104069facae5805e2279a851 Mon Sep 17 00:00:00 2001 From: Alexandru Fikl Date: Thu, 2 Apr 2026 23:04:23 +0300 Subject: [PATCH 1/2] Pass simplify flag to _jac --- jitcdde/_jitcdde.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/jitcdde/_jitcdde.py b/jitcdde/_jitcdde.py index cc84d04..6cb762f 100644 --- a/jitcdde/_jitcdde.py +++ b/jitcdde/_jitcdde.py @@ -1043,14 +1043,15 @@ def jump( self, amplitude, time, width=1e-5, forward=True ): else: return self.DDE.apply_jump( amplitude, time-width, width ) -def _jac(f, helpers, delay, n): +def _jac(f, helpers, delay, n, simplify=True): dependent_helpers = [ find_dependent_helpers(helpers,y(i,t-delay)) for i in range(n) ] def line(f_entry): - f_entry = f_entry.simplify() + if simplify: + f_entry = f_entry.simplify() for j in range(n): entry = f_entry.diff(y(j,t-delay)) for helper in dependent_helpers[j]: @@ -1067,7 +1068,7 @@ def f_lyap(): yield from f() for i in range(n_lyap): - jacs = [_jac(f, helpers, delay, n) for delay in delays] + jacs = [_jac(f, helpers, delay, n, simplify=simplify) for delay in delays] for _ in range(n): expression = 0 @@ -1391,7 +1392,7 @@ def z(index,time=t): def tangent_vector_f(): jacs = [ - _jac( f_basic, helpers, delay, self.n ) + _jac( f_basic, helpers, delay, self.n, simplify=simplify ) for delay in delays ] From 601fa3b2c442b99cf428dae14927a67fa051b78d Mon Sep 17 00:00:00 2001 From: Gerrit Ansmann <291070+Wrzlprmft@users.noreply.github.com> Date: Mon, 6 Apr 2026 10:54:28 +0200 Subject: [PATCH 2/2] Update _jitcdde.py Simplify the output, not the input. --- jitcdde/_jitcdde.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jitcdde/_jitcdde.py b/jitcdde/_jitcdde.py index 6cb762f..d0d3681 100644 --- a/jitcdde/_jitcdde.py +++ b/jitcdde/_jitcdde.py @@ -1050,12 +1050,12 @@ def _jac(f, helpers, delay, n, simplify=True): ] def line(f_entry): - if simplify: - f_entry = f_entry.simplify() for j in range(n): entry = f_entry.diff(y(j,t-delay)) for helper in dependent_helpers[j]: entry += f_entry.diff(helper[0]) * helper[1] + if simplify: + entry = entry.simplify() yield entry for f_entry in f():