18 using namespace shogun;
19 using namespace Eigen;
39 eigen_r=2.0*eigen_lp.array().exp()-1.0;
54 eigen_r=1-(2.0*eigen_lp.array().exp()-1.0).square();
63 REQUIRE(lab,
"Labels are required (lab should not be NULL)\n")
65 "Labels must be type of CBinaryLabels\n")
67 "length of the function vector\n")
70 Map<VectorXd> eigen_y(y.vector, y.vlen);
78 eigen_r=eigen_y.cwiseProduct(eigen_f);
80 for (
index_t i=0; i<eigen_r.size(); i++)
90 REQUIRE(lab,
"Labels are required (lab should not be NULL)\n")
92 "Labels must be type of CBinaryLabels\n")
94 "length of the function vector\n")
95 REQUIRE(i>=1 && i<=3,
"Index for derivative should be 1, 2 or 3\n")
100 Map<VectorXd> eigen_f(func.
vector, func.
vlen);
106 VectorXd eigen_ncdf=eigen_y.cwiseProduct(eigen_f);
108 for (
index_t j=0; j<eigen_ncdf.size(); j++)
113 (-0.5*eigen_f.array().square()).exp();
116 VectorXd eigen_z=eigen_npdf.cwiseQuotient(eigen_ncdf);
122 eigen_r=eigen_y.cwiseProduct(eigen_z);
127 eigen_r=-eigen_z.array().square()-eigen_y.array()*eigen_f.array()*
132 VectorXd eigen_z2=eigen_z.cwiseProduct(eigen_z);
133 VectorXd eigen_z3=eigen_z2.cwiseProduct(eigen_z);
136 eigen_r=2.0*eigen_y.array()*eigen_z3.array()+3.0*eigen_f.array()*
137 eigen_z2.array()+eigen_z.array()*eigen_y.array()*
138 (eigen_f.array().square()-1.0);
152 "Length of the vector of means (%d), length of the vector of "
153 "variances (%d) and number of labels (%d) should be the same\n",
156 "Labels must be type of CBinaryLabels\n")
163 "length of the vector of variances (%d) should be the same\n",
178 eigen_r=eigen_mu.array()*eigen_y.array()/((1.0+eigen_s2.array()).sqrt());
180 for (
index_t i=0; i<eigen_r.size(); i++)
190 REQUIRE(lab,
"Labels are required (lab should not be NULL)\n")
192 "Length of the vector of means (%d), length of the vector of "
193 "variances (%d) and number of labels (%d) should be the same\n",
195 REQUIRE(i>=0 && i<=mu.
vlen,
"Index (%d) out of bounds!\n", i)
197 "Labels must be type of CBinaryLabels\n")
219 REQUIRE(lab,
"Labels are required (lab should not be NULL)\n")
221 "Length of the vector of means (%d), length of the vector of "
222 "variances (%d) and number of labels (%d) should be the same\n",
224 REQUIRE(i>=0 && i<=mu.
vlen,
"Index (%d) out of bounds!\n", i)
226 "Labels must be type of CBinaryLabels\n")