> 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

Reply via email to