本文整理汇总了C++中vec::_data方法的典型用法代码示例。如果您正苦于以下问题:C++ vec::_data方法的具体用法?C++ vec::_data怎么用?C++ vec::_data使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类vec
的用法示例。
在下文中一共展示了vec::_data方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: sub_m_v_vT
// m=m-m*v*v'
void sub_m_v_vT(mat &m, const vec &v)
{
vec v2(m.rows());
double tmp, *v2p;
const double *vp;
int i, j;
it_assert(v.size() == m.cols(), "sub_m_v_vT()");
v2p = v2._data();
for (i = 0; i < m.rows(); i++) {
tmp = 0.0;
vp = v._data();
for (j = 0; j < m.cols(); j++)
tmp += *(vp++) * m._elem(i, j);
*(v2p++) = tmp;
}
v2p = v2._data();
for (i = 0; i < m.rows(); i++) {
vp = v._data();
for (j = 0; j < m.cols(); j++)
m._elem(i, j) -= *v2p * *(vp++);
v2p++;
}
}
示例2: r
vec operator*(const mat &m, const vec &v)
{
it_assert_debug(m.no_cols == v.size(), "mat::operator*(): Wrong sizes");
vec r(m.no_rows);
double alpha = 1.0;
double beta = 0.0;
char trans = 'n';
int incr = 1;
blas::dgemv_(&trans, &m.no_rows, &m.no_cols, &alpha, m.data, &m.no_rows,
v._data(), &incr, &beta, r._data(), &incr);
return r;
}
示例3: svd
bool svd(const mat &A, vec &S)
{
char jobu='N', jobvt='N';
int m, n, lda, ldu, ldvt, lwork, info;
m = lda = ldu = A.rows();
n = ldvt = A.cols();
lwork = max(3*min(m,n)+max(m,n), 5*min(m,n));
mat U, V;
//U.set_size(m,m, false);
//V.set_size(n,n, false);
S.set_size(min(m,n), false);
vec work(lwork);
mat B(A);
dgesvd_(&jobu, &jobvt, &m, &n, B._data(), &lda, S._data(), U._data(), &ldu, V._data(), &ldvt, work._data(), &lwork, &info);
return (info==0);
}