From cfdc28d4c3819610bcb3f379afe02ce6ce0ac466 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?K=C3=BChle=2C=20Laura=20Christine=20=28lakue103=29?=
 <laura.kuehle@uni-duesseldorf.de>
Date: Fri, 28 Oct 2022 13:30:26 +0200
Subject: [PATCH] Vectorized '_calculate_wavelet_coeffs()' for wavelet
 detectors.

---
 scripts/tcd/Troubled_Cell_Detector.py | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/scripts/tcd/Troubled_Cell_Detector.py b/scripts/tcd/Troubled_Cell_Detector.py
index 422db3a..6d168ac 100644
--- a/scripts/tcd/Troubled_Cell_Detector.py
+++ b/scripts/tcd/Troubled_Cell_Detector.py
@@ -237,13 +237,8 @@ class WaveletDetector(TroubledCellDetector):
             Matrix of multiwavelet coefficients.
 
         """
-        output_matrix = []
-        for i in range(self._mesh.num_cells):
-            new_entry = 0.5*(
-                    projection[:, i+1] @ self._wavelet_projection_left
-                    + projection[:, i+2] @ self._wavelet_projection_right)
-            output_matrix.append(new_entry)
-        return np.transpose(np.array(output_matrix))
+        return 0.5 * (self._wavelet_projection_left.T @ projection[:, 1:-1] +
+                      self._wavelet_projection_right.T @ projection[:, 2:])
 
     def _select_degree(self, wavelet_matrix):
         """Select degree of wavelet coefficients for troubled cell detection.
-- 
GitLab