本文整理汇总了C++中matrix_type::clear方法的典型用法代码示例。如果您正苦于以下问题:C++ matrix_type::clear方法的具体用法?C++ matrix_type::clear怎么用?C++ matrix_type::clear使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类matrix_type
的用法示例。
在下文中一共展示了matrix_type::clear方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: qr
void qr(const matrix_type& A, matrix_type& Q, matrix_type& R)
{
using namespace boost::numeric::ublas;
typedef typename matrix_type::size_type size_type;
typedef typename matrix_type::value_type value_type;
// TODO resize Q and R to match the needed size.
int m=A.size1();
int n=A.size2();
identity_matrix<value_type> ident(m);
if (Q.size1() != ident.size1() || Q.size2() != ident.size2())
Q = matrix_type(m, m);
Q.assign(ident);
R.clear();
R = A;
for (size_type k=0; k< R.size1() && k<R.size2(); k++)
{
slice s1(k, 1, m - k);
slice s2(k, 0, m - k);
unit_vector<value_type> e1(m - k, 0);
// x = A(k:m, k);
matrix_vector_slice<matrix_type> x(R, s1, s2);
matrix_type F(x.size(), x.size());
Reflector(x, F);
matrix_type temp = subrange(R, k, m, k, n);
//F = prod(F, temp);
subrange(R, k, m, k, n) = prod(F, temp);
// <<---------------------------------------------->>
// forming Q
identity_matrix<value_type> iqk(A.size1());
matrix_type Q_k(iqk);
subrange(Q_k, Q_k.size1() - F.size1(), Q_k.size1(),
Q_k.size2() - F.size2(), Q_k.size2()) = F;
Q = prod(Q, Q_k);
}
}