Dot

Скалярное произведение двух векторов.

double vector::Dot(
  const vector&  b      // второй вектор
   );

Параметры

b

[in]  Вектор.

Возвращаемое значение

Скаляр.

Примечание

Dot-продукт для двух матриц — это ничто иное, как матричное произведение matrix::MatMul().

Простой алгоритм скалярного произведения векторов на MQL5:

double VectorDot(const vectorvector_aconst vectorvector_b)
  {
   double dot=0;
 
   if(vector_a.Size()==vector_b.Size())
     {
      for(ulong i=0i<vector_a.Size(); i++)
         dot+=vector_a[i]*vector_b[i];
     }
 
   return(dot);
  }

 

Пример на MQL5:

   for(ulong i=0i<rowsi++)
     {
      vector v1=a.Row(i);
      for(ulong j=0j<colsj++)
        {
         vector v2=b.Row(j);
         result[i][j]=v1.Dot(v2);
        }
     }

 

Пример на Python:

import numpy as np
 
a = [1001]
b = [4122]
print(np.dot(ab))
 
>>> 6