You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Since 0.4 we have Eye+sparse=dense. We should keep the sparsity in situations like this.
Regression reported over slack by Satya Bade:
Hi Stefan, Thanks, I think the problem is with the addition between Eye and a sparse operator, it gives a dense operator! For example, the following code gives an out of memory error (depending on the available RAM)
using QuantumOpticsBase
bs = SpinBasis(1//2)
op = identityoperator(bs) + sigmaz(bs)
tensor([op for _ in 1:16]...)
this is possible with the older versions
The text was updated successfully, but these errors were encountered:
This is fixed in #110, but there are still things that can be improved. Namely, the large block of methods with a TODO left in it can be improved by leaning a bit harder into using FillArray and lazy embeds, for scaled identities and for tensor products with identities. Leaving open but renaming
Krastanov
changed the title
regression in identityoperator()+sparse_matrix due to the move to Eye
Less eagerly transform FillArray data (e.g. identityoperator()) into sparse arrays (e.g. 2*identityoperator() should be FillArray, not sparse)
Jun 22, 2023
…o Eye #109 (#110)
* Overloaded common operations between Eye and sparse operators
* tensor, unary minus, and bump version number
* forgot the cases where they are both IEye
* non-square tests
---------
Co-authored-by: Stefan Krastanov <github.acc@krastanov.org>
Since 0.4 we have
Eye+sparse=dense
. We should keep the sparsity in situations like this.Regression reported over slack by Satya Bade:
The text was updated successfully, but these errors were encountered: