]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Fix some (rectangular) FullMatrix methods.
authorDavid Wells <wellsd2@rpi.edu>
Thu, 15 Mar 2018 20:03:12 +0000 (16:03 -0400)
committerDavid Wells <wellsd2@rpi.edu>
Fri, 16 Mar 2018 17:41:43 +0000 (13:41 -0400)
include/deal.II/lac/full_matrix.templates.h

index b511693b1f7672881e4d588a70b03940ccba6e42..9859a8992e891fc9258305a8287798aa466350af 100644 (file)
@@ -255,10 +255,10 @@ number FullMatrix<number>::residual (Vector<number2> &dst,
   number res = 0.;
   const size_type size_m = m(),
                   size_n = n();
-  for (size_type i=0; i<size_n; ++i)
+  for (size_type i=0; i<size_m; ++i)
     {
       number s = number(right(i));
-      for (size_type j=0; j<size_m; ++j)
+      for (size_type j=0; j<size_n; ++j)
         s -= number(src(j)) * (*this)(i,j);
       dst(i) = s;
       res += s*s;
@@ -364,7 +364,7 @@ void FullMatrix<number>::add_row (const size_type i,
 {
   Assert (!this->empty(), ExcEmptyMatrix());
 
-  for (size_type k=0; k<m(); ++k)
+  for (size_type k=0; k<n(); ++k)
     (*this)(i,k) += s*(*this)(j,k);
 }
 
@@ -378,7 +378,7 @@ void FullMatrix<number>::add_row (const size_type i,
 {
   Assert (!this->empty(), ExcEmptyMatrix());
 
-  const size_type size_m = m();
+  const size_type size_m = n();
   for (size_type l=0; l<size_m; ++l)
     (*this)(i,l) += s*(*this)(j,l) + t*(*this)(k,l);
 }
@@ -390,7 +390,7 @@ void FullMatrix<number>::add_col (const size_type i, const number s,
 {
   Assert (!this->empty(), ExcEmptyMatrix());
 
-  for (size_type k=0; k<n(); ++k)
+  for (size_type k=0; k<m(); ++k)
     (*this)(k,i) += s*(*this)(k,j);
 }
 
@@ -402,7 +402,7 @@ void FullMatrix<number>::add_col (const size_type i, const number s,
 {
   Assert (!this->empty(), ExcEmptyMatrix());
 
-  for (size_t l=0; l<n(); ++l)
+  for (size_t l=0; l<m(); ++l)
     (*this)(l,i) += s*(*this)(l,j) + t*(*this)(l,k);
 }
 

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.