2010-06-27 02:00:00 +08:00
|
|
|
#include <iostream>
|
|
|
|
|
#include <Eigen/Dense>
|
|
|
|
|
|
|
|
|
|
int main() {
|
2021-12-08 03:57:38 +08:00
|
|
|
Eigen::Vector3d v(1, 2, 3);
|
|
|
|
|
Eigen::Vector3d w(0, 1, 2);
|
2010-06-27 02:00:00 +08:00
|
|
|
|
2021-12-08 03:57:38 +08:00
|
|
|
std::cout << "Dot product: " << v.dot(w) << std::endl;
|
2010-06-28 06:42:57 +08:00
|
|
|
double dp = v.adjoint() * w; // automatic conversion of the inner product to a scalar
|
2021-12-08 03:57:38 +08:00
|
|
|
std::cout << "Dot product via a matrix product: " << dp << std::endl;
|
2022-11-16 06:39:42 +08:00
|
|
|
|
2021-12-08 03:57:38 +08:00
|
|
|
std::cout << "Cross product:\n" << v.cross(w) << std::endl;
|
2022-11-16 06:39:42 +08:00
|
|
|
Eigen::Vector2d v2(1, 2);
|
|
|
|
|
Eigen::Vector2d w2(0, 1);
|
|
|
|
|
double cp = v2.cross(w2); // returning a scalar between size-2 vectors
|
|
|
|
|
std::cout << "Cross product for 2D vectors: " << cp << std::endl;
|
2010-06-27 02:00:00 +08:00
|
|
|
}
|