h33 = -point_xis[i]*Hessian33;
_hess.block<3, 3>(rownum, colnum+3) += h33;
_hess.block<3, 3>(rownum+3, colnum) += h33.transpose();
h33 = Hessian33*point_xis[j];
_hess.block<3, 3>(rownum+3, colnum) += h33;
_hess.block<3, 3>(rownum, colnum+3) += h33.transpose();
h33 = -point_xis[i] * h33;
_hess.block<3, 3>(rownum, colnum) += h33 + h33.transpose();
}
else
{
_hess.block<3, 3>(rownum+3, colnum+3) += Hessian33;
h33 = Hessian33*point_xis[j];
_hess.block<3, 3>(rownum+3, colnum) += h33;
_hess.block<3, 3>(rownum, colnum+3) -= point_xis[i]*Hessian33;
_hess.block<3, 3>(rownum, colnum) -= point_xis[i]*h33;
}
您好!请问这段代码是计算H矩阵部分的内容吗?这块的推导过程是怎样的?有对应论文或者资料推荐吗?为什么二者会有不同呢?
if(rownum==colnum && i!=j)
{
_hess.block<3, 3>(rownum+3, colnum+3) += Hessian33 + Hessian33.transpose();