Skip to contents

Applies the existing Louvain modularity move rule to every vertex of a symmetric file-backed UMAP fuzzy graph. CSR blocks are read from a seeded start in cyclic order; rows within each block are shuffled. Labels, counts, and volumes are memory-mapped. This function returns one local-moving level; use massive_louvain() for memory-gated multilevel Louvain. Mapped pages may contribute to RSS, so memory_limit bounds scan buffers rather than total process memory. Interrupted runs retain partial files for inspection and cannot yet resume.

Usage

massive_louvain_level(
  graph,
  output,
  max_passes = 10L,
  resolution = 1,
  seed = 1L,
  chunk_rows = 8192L,
  memory_limit = "1GB",
  backend = "cpu"
)

Arguments

graph

A result of massive_umap_fuzzy_graph().

output

New path for one-based uint32 cluster labels.

max_passes

Maximum local-moving sweeps.

resolution

Positive modularity resolution.

seed

Nonnegative seed controlling the scan start of each pass.

chunk_rows

Maximum consecutive CSR rows per scan block.

memory_limit

RAM budget for graph scan buffers.

backend

Only "cpu" is implemented; other requests fail.

Value

A lightweight file-backed first-level Louvain partition.