@@ -108,28 +108,34 @@ def _register_multiplications(
108108 order : int ,
109109 ) -> None :
110110 # choose _matvec and _rmatvec kind
111- self ._matvec : Callable
112- self ._rmatvec : Callable
111+ self ._hmatvec : Callable
112+ self ._hrmatvec : Callable
113113 if kind == "forward" :
114- self ._matvec = self ._matvec_forward
115- self ._rmatvec = self ._rmatvec_forward
114+ self ._hmatvec = self ._matvec_forward
115+ self ._hrmatvec = self ._rmatvec_forward
116116 elif kind == "centered" :
117117 if order == 3 :
118- self ._matvec = self ._matvec_centered3
119- self ._rmatvec = self ._rmatvec_centered3
118+ self ._hmatvec = self ._matvec_centered3
119+ self ._hrmatvec = self ._rmatvec_centered3
120120 elif order == 5 :
121- self ._matvec = self ._matvec_centered5
122- self ._rmatvec = self ._rmatvec_centered5
121+ self ._hmatvec = self ._matvec_centered5
122+ self ._hrmatvec = self ._rmatvec_centered5
123123 else :
124124 raise NotImplementedError ("'order' must be '3, or '5'" )
125125 elif kind == "backward" :
126- self ._matvec = self ._matvec_backward
127- self ._rmatvec = self ._rmatvec_backward
126+ self ._hmatvec = self ._matvec_backward
127+ self ._hrmatvec = self ._rmatvec_backward
128128 else :
129129 raise NotImplementedError (
130130 "'kind' must be 'forward', 'centered', or 'backward'"
131131 )
132132
133+ def _matvec (self , x : NDArray ) -> NDArray :
134+ return self ._hmatvec (x )
135+
136+ def _rmatvec (self , x : NDArray ) -> NDArray :
137+ return self ._hrmatvec (x )
138+
133139 @reshaped (swapaxis = True )
134140 def _matvec_forward (self , x : NDArray ) -> NDArray :
135141 ncp = get_array_module (x )
0 commit comments