* use transpose() instead of row vectors (more common use case)

* add a word about noalias and performance for BLAS users
This commit is contained in:
Gael Guennebaud
2010-06-28 00:42:57 +02:00
parent aae5994b9e
commit 75da254fc3
3 changed files with 17 additions and 8 deletions

View File

@@ -7,13 +7,13 @@ int main()
Matrix2d mat;
mat << 1, 2,
3, 4;
Vector2d vec(-1,1);
RowVector2d rowvec(2,0);
Vector2d u(-1,1), v(2,0);
std::cout << "Here is mat*mat:\n" << mat*mat << std::endl;
std::cout << "Here is mat*vec:\n" << mat*vec << std::endl;
std::cout << "Here is rowvec*mat:\n" << rowvec*mat << std::endl;
std::cout << "Here is rowvec*vec:\n" << rowvec*vec << std::endl;
std::cout << "Here is vec*rowvec:\n" << vec*rowvec << std::endl;
std::cout << "Here is mat*u:\n" << mat*u << std::endl;
std::cout << "Here is u^T*mat:\n" << u.transpose()*mat << std::endl;
std::cout << "Here is u^T*v:\n" << u.transpose()*v << std::endl;
std::cout << "Here is u*v^T:\n" << u*v.transpose() << std::endl;
std::cout << "Let's multiply mat by itself" << std::endl;
mat = mat*mat;
std::cout << "Now mat is mat:\n" << mat << std::endl;
}