矩阵乘法运算符 @

@ MQL5 运算符根据线性代数规则实现矩阵乘法。它允许将矩阵和向量相乘,以及执行向量的标量乘法。

支持元素类型:

  • float
  • double
  • complex<float>
  • complex<double>

重要:左操作数和右操作数中的元素类型必须匹配。

使用示例

1. 矩阵乘法(矩阵×矩阵)

matrix A(23);
matrix B(32);
matrix C = A @ B// 结果:大小为 [2,2] 的矩阵 C

 

2. 矩阵乘法(矩阵×向量)

matrix M(23);
vector V(3);
vector R = M @ V// 结果:2 个元素的向量 R

3. 矩阵乘法(向量x矩阵)

matrix M(23);
vector V(12);
vector R = V @ M// 结果:3 个元素的向量 R

4. 标量乘法(向量×向量)

vector V1(13), V2(13);
double r = V1 @ V2// 结果:标量

请注意

维度必须符合乘法规则:第一个操作数中的列数 = 第二个操作数的行数。

如果发生维度错误,将在运行时触发异常。

左边的向量被认为是水平的(1×n)。

右边的向量被认为是垂直的(n×1)。

@ 运算的优先级对应于乘法的优先级,即对于 D=C+A@B 的条目,首先执行矩阵乘法 T=A@B,然后进行元素加法 D=C+T。

参见

MatMul, GeMM, Kron, Dot,