@@ -199,7 +199,7 @@ def __init__(
199199 self .tapertype = tapertype
200200 self .savetaper = savetaper
201201 if self .tapertype is not None :
202- tap = taper (nwin , nover , tapertype = self .tapertype )
202+ tap = taper (nwin , nover , tapertype = self .tapertype ). astype ( Op . dtype )
203203 tapin = tap .copy ()
204204 tapin [:nover ] = 1
205205 tapend = tap .copy ()
@@ -247,7 +247,7 @@ def _matvec_savetaper(self, x: NDArray) -> NDArray:
247247 self .taps = to_cupy_conditional (x , self .taps )
248248 y = ncp .zeros (self .dimsd , dtype = self .dtype )
249249 if self .simOp :
250- x = self .Op @ x
250+ x = self .Op . matvec ( x . ravel ()). reshape ( self . Op . dimsd )
251251 if self .tapertype is not None :
252252 x = self .taps * x
253253 for iwin0 in range (self .dims [0 ]):
@@ -270,7 +270,7 @@ def _rmatvec_savetaper(self, x: NDArray) -> NDArray:
270270 if self .tapertype is not None :
271271 ywins = ywins * self .taps
272272 if self .simOp :
273- y = self .Op .H @ ywins
273+ y = self .Op .rmatvec ( ywins . ravel ()). reshape ( self . dims )
274274 else :
275275 y = ncp .zeros (self .dims , dtype = self .dtype )
276276 for iwin0 in range (self .dims [0 ]):
@@ -284,7 +284,7 @@ def _matvec_nosavetaper(self, x: NDArray) -> NDArray:
284284 self .taps = to_cupy_conditional (x , self .taps )
285285 y = ncp .zeros (self .dimsd , dtype = self .dtype )
286286 if self .simOp :
287- x = self .Op @ x
287+ x = self .Op . matvec ( x . ravel ()). reshape ( self . Op . dimsd )
288288 for iwin0 in range (self .dims [0 ]):
289289 if self .simOp :
290290 xxwin = x [iwin0 ]
@@ -311,7 +311,7 @@ def _rmatvec_nosavetaper(self, x: NDArray) -> NDArray:
311311 if self .tapertype is not None :
312312 for iwin0 in range (self .dims [0 ]):
313313 ywins = self ._apply_taper (ywins , iwin0 )
314- y = self .Op .H @ ywins
314+ y = self .Op .rmatvec ( ywins . ravel ())
315315 else :
316316 y = ncp .zeros (self .dims , dtype = self .dtype )
317317 for iwin0 in range (self .dims [0 ]):
0 commit comments