本文整理匯總了C++中eigen::VectorXd::setOnes方法的典型用法代碼示例。如果您正苦於以下問題:C++ VectorXd::setOnes方法的具體用法?C++ VectorXd::setOnes怎麽用?C++ VectorXd::setOnes使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類eigen::VectorXd
的用法示例。
在下文中一共展示了VectorXd::setOnes方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C++代碼示例。
示例1: projectorFromSvd
void projectorFromSvd(const Eigen::MatrixXd& jac,
Eigen::JacobiSVD<Eigen::MatrixXd>& svd,
Eigen::VectorXd& svdSingular,
Eigen::MatrixXd& preResult,
Eigen::MatrixXd& result,
double epsilon=std::numeric_limits<double>::epsilon(),
double minTol=1e-8)
{
// we are force to compute the Full matrix because of
// the nullspace matrix computation
svd.compute(jac, Eigen::ComputeFullU | Eigen::ComputeFullV);
double tolerance =
epsilon*double(std::max(jac.cols(), jac.rows()))*
std::abs(svd.singularValues()[0]);
tolerance = std::max(tolerance, minTol);
svdSingular.setOnes();
for(int i = 0; i < svd.singularValues().rows(); ++i)
{
svdSingular[i] = svd.singularValues()[i] > tolerance ? 0. : 1.;
}
preResult.noalias() = svd.matrixV()*svdSingular.asDiagonal();
result.noalias() = preResult*svd.matrixV().adjoint();
}
示例2: activation_and_gradient
void activation_and_gradient(const Eigen::MatrixBase<T>& inputs, Eigen::VectorXd& activation, Eigen::VectorXd& gradient)
{
if (&inputs != &activation) {
activation = inputs;
}
gradient.setOnes();
}
示例3: gradient
void gradient(const Eigen::MatrixBase<T>& inputs, Eigen::VectorXd& derivative)
{
derivative.setOnes();
}