本文整理汇总了C++中arma::mat::diag方法的典型用法代码示例。如果您正苦于以下问题:C++ mat::diag方法的具体用法?C++ mat::diag怎么用?C++ mat::diag使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类arma::mat
的用法示例。
在下文中一共展示了mat::diag方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
arma::mat uniformization_prob2(double t, arma::mat rate){
arma::colvec the_diag=-1*rate.diag();
double mu=the_diag.max();
arma::mat A=arma::eye<arma::mat>(rate.n_cols,rate.n_cols)+rate/mu;
int s=0;
arma::mat out_sum=arma::zeros<arma::mat>(rate.n_cols,rate.n_cols);
double error=(1-exp(-mu*t));
arma::mat A_s=arma::eye<arma::mat>(rate.n_cols,rate.n_cols);
while(error>1e-9){
double mu_t=mu*t;
out_sum=out_sum+exp(-mu*t)*A_s*pow(mu_t,s)/(Rcpp::internal::factorial(s));
A_s=A_s*A;
s++;
error=error-exp(-mu*t)*pow(mu*t,s)/(Rcpp::internal::factorial(s));
}
return(out_sum);
}
示例2: ApplyConstraint
//! Force a covariance matrix to be diagonal.
static void ApplyConstraint(arma::mat& covariance)
{
// Save the diagonal only.
arma::vec diagonal = covariance.diag();
covariance = arma::diagmat(diagonal);
}
示例3: cholesky_determinant
double cholesky_determinant(const arma::mat& R) {
return arma::prod(square(R.diag()));
}