From: kanschat Date: Tue, 3 Apr 2012 00:33:32 +0000 (+0000) Subject: make documentation more precise X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=95d04cbb63faf8579df5d44b0d45ef4942bfd4e6;p=dealii-svn.git make documentation more precise git-svn-id: https://svn.dealii.org/trunk@25374 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/include/deal.II/lac/lapack_full_matrix.h b/deal.II/include/deal.II/lac/lapack_full_matrix.h index 19691806c5..d1f496e8d1 100644 --- a/deal.II/include/deal.II/lac/lapack_full_matrix.h +++ b/deal.II/include/deal.II/lac/lapack_full_matrix.h @@ -102,7 +102,10 @@ class LAPACKFullMatrix : public TransposeTable /** * Assignment operator for a - * regular FullMatrix. + * regular FullMatrix. Note that + * since LAPACK expects matrices + * in transposed order, this + * transposition is included here. */ template LAPACKFullMatrix & @@ -120,7 +123,9 @@ class LAPACKFullMatrix : public TransposeTable /** * Assignment from different - * matrix classes. This + * matrix classes, performing the + * usual conversion to the + * transposed format expected by LAPACK. This * assignment operator uses * iterators of the class * MATRIX. Therefore, sparse @@ -164,6 +169,29 @@ class LAPACKFullMatrix : public TransposeTable /** * Matrix-vector-multiplication. * + * Depending on previous + * transformations recorded in #state, the + * result of this function is one + * of + * + *
    + *
  • If #state is LAPACKSupport::matrix or + * LAPACKSupport::inverse_matrix, + * this will be a regular matrix + * vector product using LAPACK + * gemv(). + *
  • If #state is + * LAPACKSupport::svd or + * LAPACKSupport::inverse_svd, + * this function first multiplies + * with the right transformation + * matrix, then with the diagonal + * matrix of singular values or + * their reciprocal values, and + * finally with the left + * trandformation matrix. + *
+ * * The optional parameter * adding determines, whether the * result is stored in w or added @@ -175,7 +203,7 @@ class LAPACKFullMatrix : public TransposeTable * if (!adding) * w = A*v * - * Source and destination must + * @note Source and destination must * not be the same vector. * * @note This template only @@ -190,14 +218,9 @@ class LAPACKFullMatrix : public TransposeTable * Adding Matrix-vector-multiplication. * w += A*v * - * Source and destination must - * not be the same vector. - * - * @note This template only - * exists for compile-time - * compatibility with - * FullMatrix. Implementation is - * only available for VECTOR=Vector<number> + * See the documentation of + * vmult() for details on the + * implementation. */ template void vmult_add (VECTOR& w, const VECTOR& v) const; @@ -217,15 +240,9 @@ class LAPACKFullMatrix : public TransposeTable * if (!adding) * w = AT*v * - * - * Source and destination must - * not be the same vector. - * - * @note This template only - * exists for compile-time - * compatibility with - * FullMatrix. Implementation is - * only available for VECTOR=Vector<number> + * See the documentation of + * vmult() for details on the + * implementation. */ template void Tvmult (VECTOR& w, const VECTOR& v, @@ -236,14 +253,9 @@ class LAPACKFullMatrix : public TransposeTable * matrix-vector-multiplication. * w += AT*v * - * Source and destination must - * not be the same vector. - * - * @note This template only - * exists for compile-time - * compatibility with - * FullMatrix. Implementation is - * only available for VECTOR=Vector<number> + * See the documentation of + * vmult() for details on the + * implementation. */ template void Tvmult_add (VECTOR& w, const VECTOR& v) const;