/// <summary>
 /// Concats another matrix horizontally / vertically.
 /// </summary>
 public virtual Matrix Concat(double[,] matrix, MatrixDirection direction)
 {
     if (direction == MatrixDirection.Horizontal)
     {
         return(new Matrix(MatrixFunctions.ConcatHorizontally(this.InnerMatrix, matrix)));
     }
     else
     {
         return(new Matrix(MatrixFunctions.ConcatVertically(this.InnerMatrix, matrix)));
     }
 }