public static Matrix <M, N, T> Matrix <M, N, T>(this IPolyrand random, Interval <T> domain, M m = default, N n = default) where M : ITypeNat, new() where N : ITypeNat, new() where T : unmanaged => Z0.Matrix.Load <M, N, T>(random.Array <T>(Z0.Matrix <M, N, T> .CellCount, domain));
public static BitMatrix64 BitMatrix(this IPolyrand random, N64 n) => Z0.BitMatrix64.From(random.Array <ulong>(64));
public static BitMatrix16 BitMatrix(this IPolyrand random, N16 n) => Z0.BitMatrix16.From(random.Array <ushort>(16));
public static BitMatrix32 BitMatrix(this IPolyrand random, N32 n) => Z0.BitMatrix32.From(random.Array <uint>(32));
public static BitMatrix <N, T> BitMatrix <N, T>(this IPolyrand random, N n = default, T rep = default) where N : ITypeNat, new() where T : unmanaged => BM.Load(random.Array <T>(BitGrid.Specify(n, n, rep).TotalCellCount), n);