Mathematica 中的矩阵乘法

matrices multiplication in mathematica

我正在使用下一个代码在 Mathematica 0.12 笔记本中进行矩阵乘法

 Xo1 = ({
     {1, y, 2 x, 2 x y}
    }).( {
     {q11},
     {q12},
     {q13},
     {q14}
    } );
Xo2 = ( {
     {0, x^2, 0, x^3}
    } ).( {
     {q21},
     {q22},
     {q23},
     {q24}
    } );
Xo3 = ( {
      {0, x, 0, x^2}
     } ).( {
      {q11},
      {q12},
      {q13},
      {q14}
     } ) + ( {
     {2 x, 2 x y, 3 x^2, 3 x^2 y}
     } ).( {
      {q21},
      {q22},
      {q23},
      {q24}
     } );
Xo = ( {
    {Xo1},
    {Xo2},
    {Xo3}
   } );
Q = ( {
    {Q11, Q12, Q13},
    {Q21, Q22, Q23},
    {Q31, Q32, Q33}
   } );
MatrixForm[Q.Xo]

这给了我合理的结果 但是当我使用转置 Xo 进行操作时:

 MatrixForm[Xo[Transpose].Q]

它给出下一个错误“Tensors incompatible shapes”。
任何人都可以帮我处理这段代码吗?

在 Mathematica 中,您的第二个向量被假定为垂直的。

Xo1 = {1, y, 2 x, 2 x y}.{q11, q12, q13, q14};
Xo2 = {0, x^2, 0, x^3}.{q21, q22, q23, q24};
Xo3 = {0, x, 0, x^2}.{q11, q12, q13, q14} +
   {2 x, 2 x y, 3 x^2, 3 x^2 y}.{q21, q22, q23, q24};
Xo = {Xo1, Xo2, Xo3};
Q = {{Q11, Q12, Q13}, {Q21, Q22, Q23}, {Q31, Q32, Q33}};
MatrixForm[Q.Xo]