AFEPack
函数
SparseMatrixTool命名空间参考

函数

void hCatSparsityPattern (const SparsityPattern &sp0, const SparsityPattern &sp1, SparsityPattern &sp)
void vCatSparsityPattern (const SparsityPattern &sp0, const SparsityPattern &sp1, SparsityPattern &sp)
void gammaCatSparsityPattern (const SparsityPattern &sp0, const SparsityPattern &sp1, SparsityPattern &sp)
void dCatSparsityPattern (const SparsityPattern &sp0, const SparsityPattern &sp1, SparsityPattern &sp)
void fullCatSparsityPattern (const SparsityPattern &sp00, const SparsityPattern &sp01, const SparsityPattern &sp10, const SparsityPattern &sp11, SparsityPattern &sp)
template<typename number >
void hCatSparseMatrix (const SparseMatrix< number > &m0, const SparseMatrix< number > &m1, SparsityPattern &sp, SparseMatrix< number > &m, bool is_pattern_ok=true)
template<typename number >
void vCatSparseMatrix (const SparseMatrix< number > &m0, const SparseMatrix< number > &m1, SparsityPattern &sp, SparseMatrix< number > &m, bool is_pattern_ok=true)
template<typename number >
void gammaCatSparseMatrix (const SparseMatrix< number > &m0, const SparseMatrix< number > &m1, SparsityPattern &sp, SparseMatrix< number > &m, bool is_pattern_ok=true)
template<typename number >
void dCatSparseMatrix (const SparseMatrix< number > &m0, const SparseMatrix< number > &m1, SparsityPattern &sp, SparseMatrix< number > &m, bool is_pattern_ok=true)
template<typename number >
void fullCatSparseMatrix (const SparseMatrix< number > &m00, const SparseMatrix< number > &m01, const SparseMatrix< number > &m10, const SparseMatrix< number > &m11, SparsityPattern &sp, SparseMatrix< number > &m, bool is_pattern_ok=true)
 DeclException0 (ExcNotCompressed)
 DeclException2 (ExcDimensionDontMatch, int, int,<< "The dimensions "<< arg1<< " and "<< arg2<< " do not match properly.")
template void hCatSparseMatrix< number > (const SparseMatrix< number > &, const SparseMatrix< number > &, SparsityPattern &, SparseMatrix< number > &, bool)
template void vCatSparseMatrix< number > (const SparseMatrix< number > &, const SparseMatrix< number > &, SparsityPattern &, SparseMatrix< number > &, bool)
template void gammaCatSparseMatrix< number > (const SparseMatrix< number > &, const SparseMatrix< number > &, SparsityPattern &, SparseMatrix< number > &, bool)
template void dCatSparseMatrix< number > (const SparseMatrix< number > &, const SparseMatrix< number > &, SparsityPattern &, SparseMatrix< number > &, bool)

详细描述

һЩϡϡģвĹߺ

SparseMatrixTool.templates.h

SparseMatrixTool.cpp


函数文档

template<typename number >
void SparseMatrixTool::dCatSparseMatrix ( const SparseMatrix< number > &  m0,
const SparseMatrix< number > &  m1,
SparsityPattern &  sp,
SparseMatrix< number > &  m,
bool  is_pattern_ok = true 
)

ϡնԽǷʽӳΪһµϡ

参数:
m0ϽǾ
m1½Ǿ
spõ¾ģ
mõ¾
is_pattern_okΪ棬ģй죻 ٶģѾȷĹ죻ȱ ʡֵΪ档

将两个稀疏矩阵按照对角方式连接成为一个新的稀疏矩阵。

参数:
m0左上角矩阵
m1右下角矩阵
sp得到的新矩阵的模板
m得到的新矩阵
is_pattern_ok如果为真,则不对模板进行构造;否则 假定模板已经进行了正确的构造;缺 省值为真。
template void SparseMatrixTool::dCatSparseMatrix< number > ( const SparseMatrix< number > &  ,
const SparseMatrix< number > &  ,
SparsityPattern &  ,
SparseMatrix< number > &  ,
bool   
)
void SparseMatrixTool::dCatSparsityPattern ( const SparsityPattern &  sp0,
const SparsityPattern &  sp1,
SparsityPattern &  sp 
)

ϡģ尴նԽǷʽӳΪһµģ塣

参数:
sp0ϽǾģ
sp1½Ǿģ
spõģ

ϡģ尴ԽǷӳΪһµģ

参数:
sp0Ͻǵģ
sp1½ǵģ
spõģ

ģǷѾѹˡ

ģǷѾѹˡ

SparseMatrixTool::DeclException0 ( ExcNotCompressed  )
SparseMatrixTool::DeclException2 ( ExcDimensionDontMatch  ,
int  ,
int  ,
<< "The dimensions "<< arg1<< " and "<< arg2<< " do not match properly."   
)
template<typename number >
template void SparseMatrixTool::fullCatSparseMatrix ( const SparseMatrix< number > &  m00,
const SparseMatrix< number > &  m01,
const SparseMatrix< number > &  m10,
const SparseMatrix< number > &  m11,
SparsityPattern &  sp,
SparseMatrix< number > &  m,
bool  is_pattern_ok = true 
)

ĸϡȫΪһµϡ

\[ \left(\begin{array}{cc} A_{00} & A_{01} \\ A_{10} & A_{11} \end{array}\right) \]

参数:
m00ϽǾ
m01ϽǾ
m10½Ǿ
m11½Ǿ
spõ¾ģ
mõ¾
is_pattern_okΪ棬ģй죻 ٶģѾȷĹ죻ȱ ʡֵΪ档

将四个稀疏矩阵完全连接为一个新的稀疏矩阵

\[ \left(\begin{array}{cc} A_{00} & A_{01} \\ A_{01} & A_{11} \end{array}\right) \]

参数:
m00左上角矩阵
m01右上角矩阵
m10左下角矩阵
m11右下角矩阵
sp得到的新矩阵的模板
m得到的新矩阵
is_pattern_ok如果为真,则对模板进行构造;否则 假定模板已经进行了正确的构造;缺 省值为真。
void SparseMatrixTool::fullCatSparsityPattern ( const SparsityPattern &  sp00,
const SparsityPattern &  sp01,
const SparsityPattern &  sp10,
const SparsityPattern &  sp11,
SparsityPattern &  sp 
)

ĸϡģȫΪһµģ

\[ \left(\begin{array}{cc} A_{00} & A_{01} \\ A_{01} & A_{11} \end{array}\right) \]

参数:
sp00ϽǾģ
sp01ϽǾģ
sp10½Ǿģ
sp11½Ǿģ
spõģ
template<typename number >
void SparseMatrixTool::gammaCatSparseMatrix ( const SparseMatrix< number > &  m0,
const SparseMatrix< number > &  m1,
SparsityPattern &  sp,
SparseMatrix< number > &  m,
bool  is_pattern_ok = true 
)

ϡ󰴰ķʽӳΪһµϡ ҲǶڸϡ $ A $ $ B $ǵõ

\[ \left(\begin{array}{cc} A & B \\ B^T & 0 \end{array}\right) \]

参数:
m0 $ A $
m1 $ B $
spõ¾ģ
mõ¾
is_pattern_okΪ棬ģй죻 ٶģѾȷĹ죻ȱ ʡֵΪ档

将两个稀疏矩阵按鞍点问题的方式连接成为一个新的稀疏 矩阵,也就是对于给定的稀疏矩阵 $ A $$ B $,我们得到矩阵

\[ \left(\begin{array}{cc} A & B \\ B^T & 0 \end{array}\right) \]

参数:
m0矩阵 $ A $
m1矩阵 $ B $
sp得到的新矩阵的模板
m得到的新矩阵
is_pattern_ok如果为真,则对模板进行构造;否则 假定模板已经进行了正确的构造;缺 省值为真。
template void SparseMatrixTool::gammaCatSparseMatrix< number > ( const SparseMatrix< number > &  ,
const SparseMatrix< number > &  ,
SparsityPattern &  ,
SparseMatrix< number > &  ,
bool   
)
void SparseMatrixTool::gammaCatSparsityPattern ( const SparsityPattern &  sp0,
const SparsityPattern &  sp1,
SparsityPattern &  sp 
)

ϡģ尴ķʽӳΪһµ ģ壬ҲǶڸϡ $ A $ $ B $ǵõ

\[ \left(\begin{array}{cc} A & B \\ B^T & 0 \end{array}\right) \]

ģ塣Ҫ $ A $ $ B $ ͬ Լ $ A $ һ

参数:
sp0 $ A $ ģ
sp1 $ B $ ģ
spõģ

ϡģ尴ķʽӳΪһµ ģ壬ҲǶڸϡ $ A $ $ B $ǵõ

\[ \left(\begin{array}{cc} A & B \\ B^T & 0 \end{array}\right) \]

ģ塣Ҫ $ A $ $ B $ ͬ

参数:
sp0 $ A $ ģ
sp1 $ B $ ģ
spõģ

ģǷѾѹˡ

ģǷͬԼһģǷ һģ塣

ģǷѾѹˡ

ģǷͬԼһģǷ һģ塣

template<typename number >
void SparseMatrixTool::hCatSparseMatrix ( const SparseMatrix< number > &  m0,
const SparseMatrix< number > &  m1,
SparsityPattern &  sp,
SparseMatrix< number > &  m,
bool  is_pattern_ok = true 
)

ϡˮƽʽӳΪһµϡ

参数:
m0ߵľ
m1ұߵľ
spõ¾ģ
mõ¾
is_pattern_okΪ棬ģй죻 ٶģѾȷĹ죻ȱ ʡֵΪ档

将两个稀疏矩阵按照水平方式连接成为一个新的稀疏矩阵。

参数:
m0左边的矩阵
m1右边的矩阵
sp得到的新矩阵的模板
m得到的新矩阵
is_pattern_ok如果为真,则对模板进行构造;否则 假定模板已经进行了正确的构造;缺 省值为真。
template void SparseMatrixTool::hCatSparseMatrix< number > ( const SparseMatrix< number > &  ,
const SparseMatrix< number > &  ,
SparsityPattern &  ,
SparseMatrix< number > &  ,
bool   
)
void SparseMatrixTool::hCatSparsityPattern ( const SparsityPattern &  sp0,
const SparsityPattern &  sp1,
SparsityPattern &  sp 
)

ϡģ尴ˮƽӳΪһµģ Ҫͬ

参数:
sp0ߵģ
sp1ұߵģ
spõģ

ģǷѾѹˡ

ģǷͬ

ģǷѾѹˡ

ģǷͬ

template<typename number >
void SparseMatrixTool::vCatSparseMatrix ( const SparseMatrix< number > &  m0,
const SparseMatrix< number > &  m1,
SparsityPattern &  sp,
SparseMatrix< number > &  m,
bool  is_pattern_ok = true 
)

ϡֱʽӳΪһµϡ

参数:
m0ϱߵľ
m1±ߵľ
spõ¾ģ
mõ¾
is_pattern_okΪ棬ģй죻 ٶģѾȷĹ죻ȱ ʡֵΪ档

将两个稀疏矩阵按照竖直方式连接成为一个新的稀疏矩阵。

参数:
m0上边的矩阵
m1下边的矩阵
sp得到的新矩阵的模板
m得到的新矩阵
is_pattern_ok如果为真,则对模板进行构造;否则 假定模板已经进行了正确的构造;缺 省值为真。
template void SparseMatrixTool::vCatSparseMatrix< number > ( const SparseMatrix< number > &  ,
const SparseMatrix< number > &  ,
SparsityPattern &  ,
SparseMatrix< number > &  ,
bool   
)
void SparseMatrixTool::vCatSparsityPattern ( const SparsityPattern &  sp0,
const SparsityPattern &  sp1,
SparsityPattern &  sp 
)

ϡģ尴ֱӳΪһµģ Ҫͬ

参数:
sp0ϱߵģ
sp1±ߵģ
spõģ

ģǷѾѹˡ

ģǷͬ

ģǷѾѹˡ

ģǷͬ