The library provides simple matrix operations: addition, subtraction, multiplication, inversion.
The matrix.mqh must be placed to terminal_data_folder/MQL5/Include/.
Simple example:
Find the inverted matrix for matrix: F3=((F1+F2)*F2)/10-F2.
F1 and F2 are 3Ñ…3 matricies.
#include <Matrix.mqh> //+------------------------------------------------------------------+ //| Script program start function                                    | //+------------------------------------------------------------------+ void OnStart()   { //---   CMatrix          *F1;   CMatrix          *F2;   CMatrix          *F3;   F1=new CMatrix(3,3);   F2=new CMatrix(3,3);   F3=new CMatrix(3,3);   El(F1,0,0)=1;  El(F1,0,1)=4;  El(F1,0,2)=-2;   El(F1,1,0)=-3; El(F1,1,1)=2;  El(F1,1,2)=2;   El(F1,2,0)=1;  El(F1,2,1)=0;  El(F1,2,2)=-2;   El(F2,0,0)=2;  El(F2,0,1)=2;  El(F2,0,2)=-3;   El(F2,1,0)=-1; El(F2,1,1)=1;  El(F2,1,2)=7;   El(F2,2,0)=3;  El(F2,2,1)=2;  El(F2,2,2)=10;   F3.Add(F1,F2); // F3=F1+F2   F3.Mul(F2);    // F3=F3*F2   F3.Mul(1./10); // F3=F3/10   F3.Sub(F2);    // F3=F3-F2   double det=F3.Inv();  // Invert F3   printf("det=%5.3f  F3[2,2]=%5.3f",det,El(F3,2,2));   delete F1;   delete F2;   delete F3;   }
Experts log output:
det=6.624 Â F3[2,2]=0.548