protected DoubleMatrix(int order, double[] values) { Order = order; _Values = new double[Order * Order]; if (values != null) { Throw.IfFalse(nameof(values), (Order * Order) == values.Length, "Invalid number of values specified"); Array.Copy(values, _Values, _Values.Length); } }