From affbcada51cec0bbb0e10d770ab71a4f3d57e30e Mon Sep 17 00:00:00 2001 From: Rogerio Jorge Date: Thu, 5 Dec 2024 22:24:27 -0600 Subject: [PATCH] replaced einsum for sum for small efficiency gain Former-commit-id: 1f29c535acfd89af7c55aee7b1b938fbd610deef --- MagneticField.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/MagneticField.py b/MagneticField.py index c02fdf0..4aa0142 100644 --- a/MagneticField.py +++ b/MagneticField.py @@ -17,10 +17,9 @@ def B(R: jnp.array, gamma: jnp.array, gamma_dash: jnp.array, currents:jnp.array, Returns: B (jnp.array - shape (3,)): Magnetic field at point R """ - dif_R = (R-gamma).T dB = jnp.cross(gamma_dash.T, dif_R, axisa=0, axisb=0, axisc=0)/jnp.linalg.norm(dif_R, axis=0)**3 - dB_sum = jnp.einsum("i,bai", currents*1e-7, dB, optimize="greedy")*overal_factor + dB_sum = jnp.sum((currents[None, None, :] * dB) * 1e-7, axis=2).T * overal_factor return jnp.mean(dB_sum, axis=0) @jit