本文整理汇总了C++中TMatrix::Inverse方法的典型用法代码示例。如果您正苦于以下问题:C++ TMatrix::Inverse方法的具体用法?C++ TMatrix::Inverse怎么用?C++ TMatrix::Inverse使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TMatrix
的用法示例。
在下文中一共展示了TMatrix::Inverse方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: StepTo
//---------------------------------------------------------------------------
void MAT_SMOOTH::StepTo(TMatrix &newX, TMatrix &newQ,
TMatrix &curX, TMatrix &curQ,
TMatrix &oldX, TMatrix &oldQ)
{
long double d;
QT1.madd(oldQ, U_1);
d = QT1.Inverse();
while(d==0)
{
printf("1 \n");
QT1.addDiag(1e-5);
QT1.Inverse();
}
QT2.mmul(AT, QT1);
QT3.mmul(QT2, A);
QT1 = curQ;
d = QT1.Inverse();
while(d==0)
{
printf("2 \n");
QT1.addDiag(1e-5);
d = QT1.Inverse();
}
newQ.madd(QT1, QT3);
XT1.mmul(QT1, curX);
XT2.mmul(QT2, oldX);
XT3.madd(XT1, XT2);
d = newQ.Inverse();
while(d==0)
{
printf("3 \n");
newQ.addDiag(1e-5);
newQ.Inverse();
}
newX.mmul(newQ, XT3);
};
示例2: StepFrom
void TSmoothVect::StepFrom(TMatrix &newX, TMatrix &newQ,
TMatrix &curX, TMatrix &curQ,
TMatrix &oldX, TMatrix &oldQ, float norma)
{
long double d;
H.mmul(U_1, curQ); /*H*=1/norma;*/
H.addDiag(1.);
d = H.Inverse();
while(d==0)
{
printf("Error of inversing 4 \n");
getchar();
}
XT1.msub(oldX,curX);
XT2.mmul(H, XT1);
newX.madd(curX, XT2);
QT1=oldQ;
d = QT1.Inverse();
while(d==0)
{
printf("Error of inversing 5 \n");
getchar();
}
QT2.mtra(H);
QT3.mmul(QT1, QT2);
QT3.madd(U_1); /* M1=U_1; M1*=1/norma; QT3.madd(M1);*/
newQ.mmul(H, QT3);
d = newQ.Inverse();
while(d==0)
{
printf("Error of inversing 6 \n");
getchar();
}
}