C++ 在本征c++;不能将向量乘以它';s转置
在执行下面的代码时,我遇到了这个错误:“无效的向量向量积如果你想要点或者系数积,你必须使用显式函数”C++ 在本征c++;不能将向量乘以它';s转置,c++,eigen,transpose,C++,Eigen,Transpose,在执行下面的代码时,我遇到了这个错误:“无效的向量向量积如果你想要点或者系数积,你必须使用显式函数” #包括 #包括 使用名称空间特征; int main() { 向量3d-v(1,2,3); Vector3d vT=v.转置(); 矩阵x3d-ans=v*vT; std::coutVector3d被定义为列向量,因此v和vT都是列向量。因此,操作v*vT没有意义。您要做的是 Matrix3d ans = v*v.transpose(); 或者将vT定义为RowVector3d Vector3
#包括
#包括
使用名称空间特征;
int main()
{
向量3d-v(1,2,3);
Vector3d vT=v.转置();
矩阵x3d-ans=v*vT;
std::coutVector3d
被定义为列向量,因此v
和vT
都是列向量。因此,操作v*vT
没有意义。您要做的是
Matrix3d ans = v*v.transpose();
或者将vT
定义为RowVector3d
Vector3d v(1, 2, 3);
RowVector3d vT = v.transpose();
Matrix3d ans = v*vT;
Vector3d
被定义为列向量,因此v
和vT
都是列向量。因此,操作v*vT
没有意义。您要做的是
Matrix3d ans = v*v.transpose();
或者将vT
定义为RowVector3d
Vector3d v(1, 2, 3);
RowVector3d vT = v.transpose();
Matrix3d ans = v*vT;