12 m_d2Uc = Matrix::Zero(), m_d2Uq = Matrix::Zero();
13 m_d2Ul = MatrixArray::Zero();
15 m_d2SumDotPN = Matrix::Zero();
16 m_d2SumDotPP = Matrix::Zero();
17 m_d2SumW = Matrix::Zero();
19 m_d2SumP = MatrixArray::Zero();
20 m_d2SumN = MatrixArray::Zero();
67 for (
int i = 0;
i < Dim; ++
i)
69 sumdSumPdSumN += Base::m_dSumN.row(
i).transpose() * Base::m_dSumP.row(
i);
72 sumdSumPdSumP += Base::m_dSumP.row(
i).transpose() * Base::m_dSumP.row(
i);
81 (Base::getWeightSum() * Base::getWeightSum() *
82 (Base::getWeightSum() *
85 (Base::m_sumN.transpose() * Base::m_dSumP + Base::m_sumP.transpose() * Base::m_dSumN) -
86 (Base::m_sumP.
transpose() * Base::m_sumN) * m_d2SumW.transpose() -
87 (Base::m_dSumN.transpose() * Base::m_sumP + Base::m_dSumP.transpose() * Base::m_sumN) *
89 Scalar(2.) * Base::getWeightSum() * Base::m_dSumW.transpose() *
90 (Base::getWeightSum() *
91 (Base::m_sumN.transpose() * Base::m_dSumP + Base::m_sumP.transpose() * Base::m_dSumN) -
92 (Base::m_sumP.
transpose() * Base::m_sumN) * Base::m_dSumW));
96 (Base::getWeightSum() * Base::getWeightSum() *
98 Scalar(2.) * Base::m_dSumW.transpose() * (Base::m_sumP.transpose() * Base::m_dSumP) -
99 (Base::m_sumP.
transpose() * Base::m_sumP) * m_d2SumW.transpose() -
100 Scalar(2.) * (Base::m_dSumP.transpose() * Base::m_sumP) * Base::m_dSumW) -
101 Scalar(2.) * Base::getWeightSum() * Base::m_dSumW.transpose() *
102 (
Scalar(2.) * Base::getWeightSum() * Base::m_sumP.transpose() * Base::m_dSumP -
103 (Base::m_sumP.transpose() * Base::m_sumP) * Base::m_dSumW));
110 Scalar(2.) * Base::m_deno * Base::m_dDeno.transpose() *
111 (Base::m_deno * Base::m_dNume - Base::m_nume * Base::m_dDeno));
113 for (
int i = 0;
i < Dim; ++
i)
117 Scalar(2.) * (m_d2Uq * Base::m_sumP[
i] + Base::m_dSumP.row(
i).transpose() * Base::m_dUq +
119 Base::m_dUq.transpose() * Base::m_dSumP.row(
i)) -
120 Base::m_ul[
i] * m_d2SumW - Base::m_dUl.
row(
i).transpose() * Base::m_dSumW -
121 Base::m_dSumW.transpose() * Base::m_dUl.row(
i));
129 for (
int i = 0;
i < Dim; ++
i)
131 sumdUldSumP += Base::m_dUl.row(
i).transpose() * Base::m_dSumP.row(
i);
134 sumdSumPdUl += Base::m_dSumP.row(
i).transpose() * Base::m_dUl.row(
i);
140 Base::m_uq * m_d2SumDotPP + Base::m_dSumDotPP.transpose() * Base::m_dUq + m_d2Uq * Base::m_sumDotPP +
141 Base::m_uc * m_d2SumW + Base::m_dUc.transpose() * Base::m_dSumW + Base::m_dSumW.transpose() * Base::m_dUc);
144 return Base::m_eCurrentState;