This line may explain why Bilinear produces fp64 outputs even if its dtype is set to np.float32 and the input is also np.float32: https://github.com/PyLops/pylops/blob/bca6dbc8c950273cf1d1bc8352218f54d296f8ec/pylops/signalprocessing/bilinear.py#L143 Should recast self.weights_tb and self.weights_lr to the chosen dtype.
This line may explain why Bilinear produces fp64 outputs even if its dtype is set to np.float32 and the input is also np.float32:
pylops/pylops/signalprocessing/bilinear.py
Line 143 in bca6dbc
Should recast self.weights_tb and self.weights_lr to the chosen dtype.