internal static double LaplaceExpansion(this ISquareMatrix matrix) { double determinant = 0; for (uint i = 0; i < matrix.Dimension; ++i) { determinant += matrix[i, 0] * matrix.GetCofactor(i, 0); } // The sigma sign is equal to a for-loop with recursion. return(determinant); }