Skip to content

ensure_no_na causes memory overflow for large sparse matrices when mode = "lower" or "upper" (igraph = 2.3.1) #2626

@wangbenwang123

Description

@wangbenwang123

Issue Title: ensure_no_na causes memory overflow for large sparse matrices when mode = "lower" or "upper"

Description:
Hello
When passing a large sparse matrix (class dgCMatrix) to graph_from_adjacency_matrix() with mode = "lower", the function fails with a memory allocation error:

r

igraph:::ensure_no_na(object, "adjacency matrix", 'lower')
Error in h(simpleError(msg, call)) :
error in evaluating the argument 'i' in selecting a method for function '[':
cannot allocate vector of size 5426.7 Gb

To reproduce

library(Matrix)
library(igraph)

Create a large sparse matrix (simulated)

dim_size <- 1206945
sparse_mat <- rsparsematrix(dim_size, dim_size, density = 1e-6)

This fails with memory error

graph <- graph_from_adjacency_matrix(sparse_mat,
mode = "lower",
diag = FALSE)

System information

No response

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions