AFEPack
SparseMatrixTool.h
浏览该文件的文档。
00001 
00011 #include <base/exceptions.h>
00012 #include <lac/sparse_matrix.h>
00013 
00014 #include "Miscellaneous.h"
00015 
00020 namespace SparseMatrixTool {
00021 
00030   void hCatSparsityPattern(const SparsityPattern& sp0,
00031                            const SparsityPattern& sp1,
00032                            SparsityPattern& sp); 
00033 
00042   void vCatSparsityPattern(const SparsityPattern& sp0,
00043                            const SparsityPattern& sp1,
00044                            SparsityPattern& sp);
00045 
00065   void gammaCatSparsityPattern(const SparsityPattern& sp0,
00066                                const SparsityPattern& sp1,
00067                                SparsityPattern& sp);
00068 
00076   void dCatSparsityPattern(const SparsityPattern& sp0,
00077                            const SparsityPattern& sp1,
00078                            SparsityPattern& sp);
00079 
00096   void fullCatSparsityPattern(const SparsityPattern& sp00,
00097                               const SparsityPattern& sp01,
00098                               const SparsityPattern& sp10,
00099                               const SparsityPattern& sp11,
00100                               SparsityPattern& sp);
00101 
00113   template <typename number>
00114     void hCatSparseMatrix(const SparseMatrix<number>& m0,
00115                           const SparseMatrix<number>& m1,
00116                           SparsityPattern& sp,
00117                           SparseMatrix<number>& m,
00118                           bool is_pattern_ok = true);
00119 
00131   template <typename number>
00132     void vCatSparseMatrix(const SparseMatrix<number>& m0,
00133                           const SparseMatrix<number>& m1,
00134                           SparsityPattern& sp,
00135                           SparseMatrix<number>& m,
00136                           bool is_pattern_ok = true);
00137 
00158   template <typename number>
00159     void gammaCatSparseMatrix(const SparseMatrix<number>& m0,
00160                               const SparseMatrix<number>& m1,
00161                               SparsityPattern& sp,
00162                               SparseMatrix<number>& m,
00163                               bool is_pattern_ok = true);
00164 
00176   template <typename number>
00177     void dCatSparseMatrix(const SparseMatrix<number>& m0,
00178                           const SparseMatrix<number>& m1,
00179                           SparsityPattern& sp,
00180                           SparseMatrix<number>& m,
00181                           bool is_pattern_ok = true);
00182 
00203   template <typename number>
00204     void fullCatSparseMatrix(const SparseMatrix<number>& m00,
00205                              const SparseMatrix<number>& m01,
00206                              const SparseMatrix<number>& m10,
00207                              const SparseMatrix<number>& m11,
00208                              SparsityPattern& sp,
00209                              SparseMatrix<number>& m,
00210                              bool is_pattern_ok = true);
00211 
00212   DeclException0(ExcNotCompressed);
00213   DeclException2(ExcDimensionDontMatch, int, int,
00214                  << "The dimensions " << arg1 << " and " << arg2
00215                  << " do not match properly.");
00216 };
00217