> If I change the size of the matrix A so that it is non-square (i.e. > FullMatrix<double> A(4,5); ), I get the following error: > > An error occurred in line <2340> of file > </home/andrew/software/deal_ii_svn/deal.II/base/include/base/table.h> in > function > T& dealii::Table<2, T>::operator()(unsigned int, unsigned int) [with > T = double] > The violated condition was: > i < this->table_size[0] > The name and call sequence of the exception was: > ExcIndexRange (i, 0, this->table_size[0]) > Additional Information: > Index 4 is not in [0,4[ > > So the problem is linked to the underlying Table class from which > FullMatrix is inherited.
No, the implementation of the swap_row/col function is simply accessing elements that don't exist in the matrix because the loop runs over all m() cols in the matrix, where it should be all n() cols. Take a look at the implementation. If you agree that this is the problem (and maybe able to test the obvious fix) then I can check something into our svn. W. ------------------------------------------------------------------------- Wolfgang Bangerth email: [email protected] www: http://www.math.tamu.edu/~bangerth/ _______________________________________________ dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii
