Eigen3 中两个矩阵之间的 Frobenius 内积

Frobenius Inner Product between two matrices in Eigen3

有没有简单快捷的方法来计算 Eigen3 中两个 3x3 矩阵之间的 Frobenius 内积?

我认为你正在寻找一个普通的矩阵乘法

Eigen::Matrix3d a;
Eigen::Matrix3d b;

Eigen::Matrix3d product = a * b;

如果您正在搜索 inner product of matrices,一个可能的(可能不是最优的)解决方案可能是

    #include <iostream>
    #include "Eigen/Dense"
     
    int main()
    {
      
    Eigen::Matrix3d A, B;
    A << 1, 2, 3,
            4,5,6,
            7,8,9;
    B << 10, 11, 12,
             13,14,15,
             16,17,18;

    Eigen::Matrix3d C;
    C = A.transpose()*B;
    
    std::cout << C.trace() << std::endl;

        return 0;
    }