행렬 곱 연산자

@  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,