private static double[][] convert(Array array, int dimension)
{
var multivariate = array as double[][];
if (multivariate != null) return multivariate;
var univariate = array as double[];
if (univariate != null) return Matrix.Split(univariate, dimension);
throw new ArgumentException("Invalid array argument type.", "array");
}
}