public Matrix LayoutWithFruchtermanReingold(int niter, double startTemp, Matrix initialCoords = null) { if (initialCoords != null && (initialCoords.Rows != Vertices || initialCoords.Columns != 2)) { throw new ArgumentException("Initial coordinate matrix does not contain the required number of rows and columns.", "initialCoords"); } var coords = initialCoords != null ? new Matrix(initialCoords) : new Matrix(Vertices, 2); DllImporter.igraph_layout_fruchterman_reingold(graph, coords.NativeInstance, initialCoords != null, niter, startTemp, igraph_layout_grid_t.IGRAPH_LAYOUT_AUTOGRID, null, null, null, null, null); return(coords); }