Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/145.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在本征c++;不能将向量乘以它';s转置_C++_Eigen_Transpose - Fatal编程技术网

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::cout
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;

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;