โ“ Frequenty Asked Questionsยถ

1. Can I visualize my operator?

Yes, you can. Every operator has a method called todense that will return the dense matrix equivalent of the operator. Note, however, that in order to do so we need to allocate a numpy array of the size of your operator and apply the operator N times, where N is the number of columns of the operator. The allocation can be very heavy on your memory and the computation may take long time, so use it with care only for small toy examples to understand what your operator looks like. This method should however not be abused, as the reason of working with linear operators is indeed that you donโ€™t really need to access the explicit matrix representation of an operator.

2. Can I have an older version of cupy installed in my system ( cupy-cudaXX<10.6.0 )?

Yes. Nevertheless you need to tell PyLops that you donโ€™t want to use its cupy backend by setting the environment variable CUPY_PYLOPS=0. Failing to do so will lead to an error when you import pylops because some of the cupyx routines that we use are not available in earlier version of cupy.

3. What can I do if my system Python does not allow caching Numba compiled functions ?

Prir to PyLops v2.8.0, you must set NUMBA_CACHE_DIR to a non read-only directory.

From PyLops v2.8.0, this is turned off by default. However, it can be enabled by setting NUMBA_CACHE_PYLOPS=1, and Numba JIT-ed functions will be automatically cached into NUMBA_CACHE_DIR.