13 m_d2Uc = Matrix::Zero(), m_d2Uq = Matrix::Zero();
14 m_d2Ul = MatrixArray::Zero();
16 m_d2SumDotPN = Matrix::Zero();
17 m_d2SumDotPP = Matrix::Zero();
18 m_d2SumW = Matrix::Zero();
20 m_d2SumP = MatrixArray::Zero();
21 m_d2SumN = MatrixArray::Zero();
70 for (
int i = 0;
i < Dim; ++
i)
72 sumdSumPdSumN += Base::m_dSumN.row(
i).transpose() * Base::m_dSumP.row(
i);
75 sumdSumPdSumP += Base::m_dSumP.row(
i).transpose() * Base::m_dSumP.row(
i);
84 (Base::getWeightSum() * Base::getWeightSum() *
85 (Base::getWeightSum() *
88 (Base::m_sumN.transpose() * Base::m_dSumP + Base::m_sumP.transpose() * Base::m_dSumN) -
89 (Base::m_sumP.
transpose() * Base::m_sumN) * m_d2SumW.transpose() -
90 (Base::m_dSumN.transpose() * Base::m_sumP + Base::m_dSumP.transpose() * Base::m_sumN) *
92 Scalar(2.) * Base::getWeightSum() * Base::m_dSumW.transpose() *
93 (Base::getWeightSum() *
94 (Base::m_sumN.transpose() * Base::m_dSumP + Base::m_sumP.transpose() * Base::m_dSumN) -
95 (Base::m_sumP.
transpose() * Base::m_sumN) * Base::m_dSumW));
99 (Base::getWeightSum() * Base::getWeightSum() *
101 Scalar(2.) * Base::m_dSumW.transpose() * (Base::m_sumP.transpose() * Base::m_dSumP) -
102 (Base::m_sumP.
transpose() * Base::m_sumP) * m_d2SumW.transpose() -
103 Scalar(2.) * (Base::m_dSumP.transpose() * Base::m_sumP) * Base::m_dSumW) -
104 Scalar(2.) * Base::getWeightSum() * Base::m_dSumW.transpose() *
105 (
Scalar(2.) * Base::getWeightSum() * Base::m_sumP.transpose() * Base::m_dSumP -
106 (Base::m_sumP.transpose() * Base::m_sumP) * Base::m_dSumW));
113 Scalar(2.) * Base::m_deno * Base::m_dDeno.transpose() *
114 (Base::m_deno * Base::m_dNume - Base::m_nume * Base::m_dDeno));
116 for (
int i = 0;
i < Dim; ++
i)
120 Scalar(2.) * (m_d2Uq * Base::m_sumP[
i] + Base::m_dSumP.row(
i).transpose() * Base::m_dUq +
122 Base::m_dUq.transpose() * Base::m_dSumP.row(
i)) -
123 Base::m_ul[
i] * m_d2SumW - Base::m_dUl.
row(
i).transpose() * Base::m_dSumW -
124 Base::m_dSumW.transpose() * Base::m_dUl.row(
i));
132 for (
int i = 0;
i < Dim; ++
i)
134 sumdUldSumP += Base::m_dUl.row(
i).transpose() * Base::m_dSumP.row(
i);
137 sumdSumPdUl += Base::m_dSumP.row(
i).transpose() * Base::m_dUl.row(
i);
143 Base::m_uq * m_d2SumDotPP + Base::m_dSumDotPP.transpose() * Base::m_dUq + m_d2Uq * Base::m_sumDotPP +
144 Base::m_uc * m_d2SumW + Base::m_dUc.transpose() * Base::m_dSumW + Base::m_dSumW.transpose() * Base::m_dUc);
147 return Base::m_eCurrentState;