From 29b218835c123f593f86068d1e8833f73ab7dafb Mon Sep 17 00:00:00 2001 From: Didictateur Date: Mon, 16 Feb 2026 12:16:45 +0100 Subject: [PATCH] cache the jacobian matrix --- legrandchien.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/legrandchien.py b/legrandchien.py index 5b7544b..42fa1b7 100644 --- a/legrandchien.py +++ b/legrandchien.py @@ -456,6 +456,11 @@ class Equation: unknown = list(unknown) equations = list(equations) + J_template = np.empty((n, n), dtype=object) + for i in range(n): + for j in range(n): + J_template[i][j] = equations[i].partial(unknown[j].name) + for t in tqdm([n * dt for n in range(int(tmax/dt))]): err = 1 iterations = 0 @@ -470,7 +475,7 @@ class Equation: F[i] = equations[i].evaluate(dico) for j in range(n): # print(equations[0]) - J[i][j] = equations[i].partial(unknown[j].name).evaluate(dico) + J[i][j] = J_template[i][j].evaluate(dico) # print(J, F)