Revert #919 - sparse matrices in LocalOperator
Created by: PhilipVinc
This PR reverts @VolodyaCO #919, which I have discussed with @femtobit . I found two bugs in the last few days, due to that PR. Moreover we keep seeing SciPy warnings that Localopeartor is changing the structure of sparse matrices which is slow. While probably what #919 is doing is correct, we cannot have our standard code print out so many warnings because it's confusing to the user (he cannot do nothing about it, it's our inner code), and this should be fixed.
This PR readapts #964 because that was useful.
@VolodyaCO I'm sorry for reverting this but since we want to tag a new version tonight/tomorrow morning, I think that code is still too experimental and raising issues, while the old one was much more battle-tested.
I'll keep the code around in a branch so anybody who needs it can still access it. If someone puts in the work necessary to get it up to a good level then we can merge it again.