public static Matrix <R> random <R>(RandomVariable <R> rand, int n, int m) where R : FieldLikeObject <R> { var ent = new R[n, m]; Parallel.For(0, n, i => { Parallel.For(0, m, j => { ent[i, j] = rand.realize(); }); }); return(ent); }