Circshift bug for sparse logical.

조회 수: 4 (최근 30일)
Jan Orwat
Jan Orwat 2015년 12월 8일
편집: James Tursa 2024년 10월 23일
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
DGM
DGM 2024년 10월 23일
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 = sparse logical
(1,1) 1
C == ~C
ans = sparse logical
All zero
C&C
ans = sparse logical
(1,1) 1
C|C
ans = sparse logical
(1,1) 1
James Tursa
James Tursa 2024년 10월 23일
편집: James Tursa 2024년 10월 23일
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

댓글을 달려면 로그인하십시오.

채택된 답변

Steven Lord
Steven Lord 2024년 10월 23일
이동: Walter Roberson 2024년 10월 23일
This bug was fixed in release R2018a.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Performance and Memory에 대해 자세히 알아보기

제품


릴리스

R2014a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by