本文整理汇总了C++中boost::numeric::ublas::matrix::assign方法的典型用法代码示例。如果您正苦于以下问题:C++ matrix::assign方法的具体用法?C++ matrix::assign怎么用?C++ matrix::assign使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类boost::numeric::ublas::matrix
的用法示例。
在下文中一共展示了matrix::assign方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: invert
bool invert(const boost::numeric::ublas::matrix<T>& input, boost::numeric::ublas::matrix<T>& inverse) {
// create a working copy of the input
boost::numeric::ublas::matrix<T> A(input);
// create a permutation matrix for the LU-factorization
boost::numeric::ublas::permutation_matrix<std::size_t> pm(A.size1());
// perform LU-factorization
typename boost::numeric::ublas::matrix<T>::size_type res = boost::numeric::ublas::lu_factorize(A, pm);
if( res != 0 ){
LOG_FREE(Info, "boost.ublas", "boost::numeric::ublas::lu_factorize returned res = " << res <<
", A = " << A << ", pm = " << pm << " for input = " << input);
return false;
}
// create identity matrix of "inverse"
inverse.assign(boost::numeric::ublas::identity_matrix<T>(A.size1()));
// backsubstitute to get the inverse
try {
boost::numeric::ublas::lu_substitute(A, pm, inverse);
}catch (std::exception& e){
LOG_FREE(Info, "boost.ublas", "boost::numeric::ublas::lu_substitute threw exception '" << e.what() <<
"' for A = " << A << ", pm = " << pm);
return false;
}
return true;
}
示例2: matrix_inverse
bool matrix_inverse (const ublas::matrix<T>& input, ublas::matrix<T>& inverse) {
using namespace boost::numeric::ublas;
typedef permutation_matrix<std::size_t> pmatrix;
// create a working copy of the input
matrix<T> A(input);
// create a permutation matrix for the LU-factorization
pmatrix pm(A.size1());
// perform LU-factorization
int res = lu_factorize(A,pm);
if( res != 0 ) return false;
// create identity matrix of "inverse"
inverse.assign(ublas::identity_matrix<T>(A.size1()));
// backsubstitute to get the inverse
lu_substitute(A, pm, inverse);
return true;
}
示例3: getInverse
bool EstimatorMaximumLikelihood::getInverse(boost::numeric::ublas::matrix<float> iMatrix, boost::numeric::ublas::matrix<float>& iInverse) {
// Taken from https://gist.github.com/2464434
using namespace boost::numeric::ublas;
typedef permutation_matrix<std::size_t> pmatrix;
// create a working copy of the input
matrix<float> A(iMatrix);
// create a permutation matrix for the LU-factorization
pmatrix pm(A.size1());
// perform LU-factorization
int res = lu_factorize(A,pm);
if( res != 0 ) return false;
// create identity matrix of "inverse"
iInverse.assign(identity_matrix<float>(A.size1()));
// backsubstitute to get the inverse
lu_substitute(A, pm, iInverse);
return true;
}