I’m trying to write this short C++ code in Python. Could anyone help me with it?
<code>/* Objective Function to Optimize */
int QFunc1(const Vector<double> &Beta, Vector<double> &LP)
{
/* Compute R(n) = Beta * X(n) */
Vector<double> R(N);
for(int n=0; n<N; n++)
{
R(n) = Z(n);
for(int j=0; j<J; j++) R(n) -= Beta(j) * Y(n,j);
}
/* Estimate ... */
double OneDhN = One / ((double)N * h);
for(int n=0; n<N; n++)
{
double Num = Zero;
double Den = Zero;
for(int m=0; m<N; m++)
{
double Temp = Kernel((X(n) - X(m)) / h,1) / h;
Num += Temp * R(m) * OneDhN;
Den += Temp * OneDhN;
}
double Temp2 = R(n) - Num / Den;
/* Compute Likelihood Contibution */
LP(n) = -Sqr(Temp2);
}
return 0;
}
</code>
<code>/* Objective Function to Optimize */
int QFunc1(const Vector<double> &Beta, Vector<double> &LP)
{
/* Compute R(n) = Beta * X(n) */
Vector<double> R(N);
for(int n=0; n<N; n++)
{
R(n) = Z(n);
for(int j=0; j<J; j++) R(n) -= Beta(j) * Y(n,j);
}
/* Estimate ... */
double OneDhN = One / ((double)N * h);
for(int n=0; n<N; n++)
{
double Num = Zero;
double Den = Zero;
for(int m=0; m<N; m++)
{
double Temp = Kernel((X(n) - X(m)) / h,1) / h;
Num += Temp * R(m) * OneDhN;
Den += Temp * OneDhN;
}
double Temp2 = R(n) - Num / Den;
/* Compute Likelihood Contibution */
LP(n) = -Sqr(Temp2);
}
return 0;
}
</code>
/* Objective Function to Optimize */
int QFunc1(const Vector<double> &Beta, Vector<double> &LP)
{
/* Compute R(n) = Beta * X(n) */
Vector<double> R(N);
for(int n=0; n<N; n++)
{
R(n) = Z(n);
for(int j=0; j<J; j++) R(n) -= Beta(j) * Y(n,j);
}
/* Estimate ... */
double OneDhN = One / ((double)N * h);
for(int n=0; n<N; n++)
{
double Num = Zero;
double Den = Zero;
for(int m=0; m<N; m++)
{
double Temp = Kernel((X(n) - X(m)) / h,1) / h;
Num += Temp * R(m) * OneDhN;
Den += Temp * OneDhN;
}
double Temp2 = R(n) - Num / Den;
/* Compute Likelihood Contibution */
LP(n) = -Sqr(Temp2);
}
return 0;
}
}
I’m having a hard time especially with this part:
double Temp = Kernel((X(n) – X(m)) / h,1) / h;
1