ilupp icon indicating copy to clipboard operation
ilupp copied to clipboard

I think matrix_sparce function : transpose_in_place() is wrong.

Open xinlnix opened this issue 3 years ago • 3 comments

template<class T> matrix_sparse<T> matrix_sparse<T>::transpose_in_place() {
     orientation = other_orientation(orientation);
     std::swap(number_rows, number_columns);
     return *this;
  }

Why transpose in place just swap number rows and columns and change orientation?. I can't find where it has been transpose and thank for your reply in advance.

xinlnix avatar Apr 10 '21 11:04 xinlnix

And in practice, CCS format calculate of ILU0 is wrong, hoping your reply.

xinlnix avatar Apr 10 '21 11:04 xinlnix

template<class T> matrix_sparse<T> matrix_sparse<T>::transpose_in_place() {
     orientation = other_orientation(orientation);
     std::swap(number_rows, number_columns);
     return *this;
  }

Why transpose in place just swap number rows and columns and change orientation?. I can't find where it has been transpose and thank for your reply in advance.

Turning a row-major into a column-major matrix in effect transposes it. I'm pretty sure it's correct. Have you tried it?

c-f-h avatar Apr 10 '21 12:04 c-f-h

And in practice, CCS format calculate of ILU0 is wrong, hoping your reply.

Can you give a reproducible test case where it's wrong?

c-f-h avatar Apr 10 '21 12:04 c-f-h