public override double MatrixNorm(Norm norm, int rows, int columns, double[] matrix, double[] work) { if (matrix == null) { throw new ArgumentNullException("matrix"); } if (rows <= 0) { throw new ArgumentException(Resources.ArgumentMustBePositive, "rows"); } if (columns <= 0) { throw new ArgumentException(Resources.ArgumentMustBePositive, "columns"); } if (matrix.Length < rows * columns) { throw new ArgumentException(string.Format(Resources.ArrayTooSmall, rows * columns), "matrix"); } if (work.Length < rows) { throw new ArgumentException(string.Format(Resources.ArrayTooSmall, rows), "work"); } return(SafeNativeMethods.d_matrix_norm((byte)norm, rows, columns, matrix, work)); }