|
Boost Users : |
From: Thomas Willhalm (yg-boost-users_at_[hidden])
Date: 2002-09-12 06:07:07
Hello,
I'm new to ublas, so it's easily possible that I overlooked something
obvious. The first thing I tried to calculate was the following line:
numerics::matrix<double> M(dimension,n);
numerics::matrix<double> Covariance
= numerics::prod(M,numerics::trans(M))/n;
where dimension is 50 and n is 8000.
Unfortunately. it turned out that the following "stupid" code actually
performs better:
numerics::matrix<double> Covariance(dimension,dimension);
for (int i=0; i<dimension; ++i)
for (int j=0; j<dimension; ++j) {
Covariance(i,j)=0;
for (int k=0; k<n; ++k)
Covariance(i,j) += M(i,k)*M(j,k);
Covariance(i,j) /= n;
}
What am I doing wrong?
I'm using gcc 2.95.3 under Linux 2.4.18 on a mobile Pentium III, if it
matters.
Thanks in advance
Thomas
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net