From: Guido Kanschat Date: Thu, 3 Mar 2005 21:11:09 +0000 (+0000) Subject: documentation update X-Git-Tag: v8.0.0~14538 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=62e3b0372afa1c84f0ce230ee2cbc2356f40ada4;p=dealii.git documentation update git-svn-id: https://svn.dealii.org/trunk@9983 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/lac/include/lac/block_matrix_array.h b/deal.II/lac/include/lac/block_matrix_array.h index f802ba0d99..ea8fbaca8e 100644 --- a/deal.II/lac/include/lac/block_matrix_array.h +++ b/deal.II/lac/include/lac/block_matrix_array.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -41,24 +41,37 @@ template class Vector; /** * Block matrix composed of different single matrices. * - * Given a set of arbitrary matrices @p A_i, this class implements a - * block matrix with block entries of the form M_{jk = s_{jk}A_i}. - * Each @p A_i may be used several times with different prefix. + * Given a set of arbitrary matrices Ai, this class + * implements a block matrix with block entries of the form + * Mjk = sjkAi. Each + * Ai may be used several times with different + * prefix. The matrices are not copied into the BlockMatrixArray + * object, but rather references to them will be stored along with + * factors and transposition flags. * - * Non-zero entries are registered by the function @p enter, zero - * entries are not stored at all. Using @p enter with the same - * location (i,j) several times will add the corresponding - * matrices in matrix-vector multiplications. + * Non-zero entries are registered by the function enter(), zero + * entries are not stored at all. Using enter() with the same location + * (i,j) several times will add the corresponding matrices in + * matrix-vector multiplications. These matrices will not be actually + * added, but the multiplications with them will be summed up. * - * @sect3{Requirements} + * @note This mechanism makes it impossible to access single entries + * of BlockMatrixArray. In particular, (block) relaxation + * preconditioners based on PreconditionRelaxation or + * PreconditionBlock cannot be used with this class. If you + * need a preconditioner for a BlockMatrixArray object, use + * BlockTrianglePrecondition. * - * The template argument @p MATRIX is a class providing the the - * matrix-vector multiplication functions @p vmult etc. defined in - * this class, but with arguments of type @p VECTOR instead of + *

Requirements on MATRIX

+ * + * The template argument MATRIX is a class providing the the + * matrix-vector multiplication functions vmult, + * Tvmult, vmult_add and Tvmult_add used in + * this class, but with arguments of type VECTOR instead of * BlockVector. SparseMatrix is a possible entry * type. * - * @author Guido Kanschat, 2000, 2001 + * @author Guido Kanschat, 2000, 2001, 2005 */ template class BlockMatrixArray : public Subscriptor @@ -114,7 +127,7 @@ class BlockMatrixArray : public Subscriptor /** * Matrix-vector multiplication - * adding to @p dst. + * adding to dst. */ template void vmult_add (BlockVector& dst, @@ -131,7 +144,7 @@ class BlockMatrixArray : public Subscriptor /** * Transposed matrix-vector * multiplication adding to - * @p dst. + * dst. */ template void Tvmult_add (BlockVector& dst, @@ -139,7 +152,20 @@ class BlockMatrixArray : public Subscriptor /** * Print the block structure as a - * LaTeX-array. + * LaTeX-array. This output will + * not be very intuitive, since + * the matrix object lacks + * important information. What + * you see is an entry for each + * block showing all the matrices + * with their multiplicaton + * factors and possibly transpose + * mark. The matrices itself are + * numbered successively upon + * being entred. If the same + * matrix is entered several + * times, it will be listed with + * the same number everytime. */ void print_latex (std::ostream& out) const;