本文整理汇总了C++中MultiVector::Scale方法的典型用法代码示例。如果您正苦于以下问题:C++ MultiVector::Scale方法的具体用法?C++ MultiVector::Scale怎么用?C++ MultiVector::Scale使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MultiVector
的用法示例。
在下文中一共展示了MultiVector::Scale方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: preconditioner
/*----------------------------------------------------------------------*
| apply multigrid linear preconditioner (private) m.gee 03/06|
*----------------------------------------------------------------------*/
int MOERTEL::Mortar_ML_Preconditioner::MultiLevelSA(
const MultiVector& b1_f,
const MultiVector& b2_f,
MultiVector& x1_f,
MultiVector& x2_f,
int level) const
{
MultiVector r1_f(b1_f.GetVectorSpace(),1,false);
MultiVector z1_f(b1_f.GetVectorSpace(),1,false);
// presmoothing
x1_f = 0;
G_.Apply(b1_f,x1_f);
x2_f = mlapiMT_ * x1_f;
x2_f.Scale(-1.0);
// compute residual
r1_f = b1_f - mlapiAhat11_ * x1_f;
// postsmoothing
z1_f = 0;
G_.Apply(r1_f,z1_f);
x1_f = x1_f + z1_f;
x2_f = mlapiMT_ * x1_f;
x2_f.Scale(-1.0);
return 0;
}