@@ -451,7 +451,7 @@ def __init__(
451451 super ().__init__ (dtype = np .dtype (dtype ), dims = dims , dimsd = dimsd , name = name )
452452
453453 pad = [(0 , ndimpow2 - self .dims [0 ])] + [(0 , 0 )] * (len (self .dims ) - 1 )
454- self .pad = Pad (self .dims , pad )
454+ self .pad = Pad (self .dims , pad , dtype = self . dtype )
455455 self .nx , self .nt = self .dimsd
456456
457457 # define levels
@@ -473,7 +473,9 @@ def __init__(
473473 def _matvec (self , x : NDArray ) -> NDArray :
474474 x = self .pad .matvec (x )
475475 x = np .reshape (x , self .dimsd )
476- y = np .zeros ((np .sum (self .levels_size ) + self .levels_size [- 1 ], self .nt ))
476+ y = np .zeros (
477+ (np .sum (self .levels_size ) + self .levels_size [- 1 ], self .nt ), dtype = self .dtype
478+ )
477479 for ilevel in range (self .level ):
478480 odd = x [1 ::2 ]
479481 even = x [::2 ]
@@ -519,7 +521,7 @@ def _rmatvec(self, x: NDArray) -> NDArray:
519521 backward = False ,
520522 adj = True ,
521523 )
522- y = np .zeros ((2 * even .shape [0 ], self .nt ))
524+ y = np .zeros ((2 * even .shape [0 ], self .nt ), dtype = self . dtype )
523525 y [1 ::2 ] = odd
524526 y [::2 ] = even
525527 y = self .pad .rmatvec (y .ravel ())
@@ -542,7 +544,7 @@ def inverse(self, x: NDArray) -> NDArray:
542544 odd = res + self .predict (
543545 even , self .dt , self .dx , self .slopes , repeat = ilevel - 1 , backward = False
544546 )
545- y = np .zeros ((2 * even .shape [0 ], self .nt ))
547+ y = np .zeros ((2 * even .shape [0 ], self .nt ), dtype = self . dtype )
546548 y [1 ::2 ] = odd
547549 y [::2 ] = even
548550 y = self .pad .rmatvec (y .ravel ())
0 commit comments