Circshift bug for sparse logical.
33 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Jan Orwat
il 8 Dic 2015
Modificato: James Tursa
il 23 Ott 2024 alle 21:15
Hello, does anybody know if it has been reported?
Circshift seems to shift sparse logicals properly, but changes trues to falses, which leads to several logical problems:
>> C = circshift(sparse(true),1)
C =
(1,1) 0
>> C == ~C
ans =
(1,1) 1
>> C&C
ans =
(1,1) 0
>> C|C
ans =
(1,1) 1
% etc.
It's not a major problem since sparse logicals doesn't seem to be in common use and workaround with indexing is very simple. Bug confirmed in 2015a and 2015b, denied in 2010b, 2013a and 2013b. It probably exists since last changes in circshift in 2014a.
3 Commenti
DGM
il 23 Ott 2024 alle 0:59
Welp, I guess that was changed somewhere between R2017b and R2019b. I didn't see anything in bug reports, but ... yeah.
C = circshift(sparse(true),1)
C == ~C
C&C
C|C
James Tursa
il 23 Ott 2024 alle 21:01
Modificato: James Tursa
il 23 Ott 2024 alle 21:15
Looks like bug is fixed, at least for this example (using sarek sparse matrix checker from FEX):
>> st = sparse(true)
st =
sparse logical
(1,1) 1
>> sarek(st)
SAREK -- Sparse Analyzer Real Et Komplex , by James Tursa
Compiled in version R2020a (with -R2018a option)
Running in version R2020a
Matrix is logical ...
M = 1 >= 0 OK ...
N = 1 >= 0 OK ...
Nzmax = 1 >= 1 OK ...
Jc[0] == 0 OK ...
Jc[N] = 1 <= Nzmax = 1 OK ...
Jc array OK ...
Ir array OK ...
All stored elements nonzero OK ...
All sparse integrity checks OK
ans =
0
>>
>> cst = circshift(st,1)
cst =
sparse logical
(1,1) 1
>> sarek(cst)
SAREK -- Sparse Analyzer Real Et Komplex , by James Tursa
Compiled in version R2020a (with -R2018a option)
Running in version R2020a
Matrix is logical ...
M = 1 >= 0 OK ...
N = 1 >= 0 OK ...
Nzmax = 1 >= 1 OK ...
Jc[0] == 0 OK ...
Jc[N] = 1 <= Nzmax = 1 OK ...
Jc array OK ...
Ir array OK ...
All stored elements nonzero OK ...
All sparse integrity checks OK
ans =
0
Risposta accettata
Steven Lord
il 23 Ott 2024 alle 18:05
Spostato: Walter Roberson
il 23 Ott 2024 alle 20:51
This bug was fixed in release R2018a.
0 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Performance and Memory in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!