## ----setup--------------------------------------------------------------------
library(netOP)
set.seed(2026)

## ----generate-----------------------------------------------------------------
A <- generate_sbm(
  n = 200,
  K = 3,
  alpha = 0.5,
  beta = 0.08,
  representation = "dense",
  seed = 1,
  ncores = 1
)
parameters <- get_generator_parameters(A)
table(parameters$g_true)

## ----fit----------------------------------------------------------------------
embedding <- ase(A, d = 3)
dim(embedding$Z_hat)

clustering <- spectral_cluster(
  A,
  K = 3,
  spectral_engine = "base",
  cluster_engine = "kmeans"
)
table(clustering$g_hat)

## ----select, eval=FALSE-------------------------------------------------------
# selection <- netcrop_blockmodel(
#   A,
#   K_candidates = 1:5,
#   num_subnetworks = 2,
#   overlap_size = 50,
#   nrep = 1,
#   losses = "sse",
#   ncores = 1,
#   seed = 2,
#   verbose = FALSE,
#   sbm_est_options = list(spectral_cluster = list(spectral_engine = "base")),
#   dcbm_est_options = list(spectral_cluster = list(spectral_engine = "base"))
# )
# selection$best_model_overall

## ----inspect, eval=FALSE------------------------------------------------------
# summary(selection)
# if (requireNamespace("ggplot2", quietly = TRUE)) {
#   plot(selection)
# }

