NEWS.md
missSBM_fit now exposes split(), merge(), candidates_split() and candidates_merge() as instance methods, previously inlined in missSBM_collection’s exploration logic; same search algorithm, now independently testable. RNG draws during exploration differ negligibly from before as a result (verified: same or marginally better ICL)nloptr is no longer a dependencyestimateMissSBM() and fixed several hot-path inefficiencies: avoidable dense * sparse promotion overhead, a redundant recomputation of the dense imputed-network matrix, and an ifelse() evaluating both of its branches unconditionally. Roughly 3x faster on our benchmark, bit-identical resultspartlyObservedNetwork$imputation(): the fill value for missing dyads was biased low by including not-yet-imputed entries in its own computation. Known side effect: doubleStandardSampling_fit’s initial psi bootstrap can degenerate when the fill value exactly matches the empirical observed edge rate (refined away by the VEM loop that follows)control$maxMergeCandidates, default 30) instead of always trying every pairmissSBM_fit$doVEM()’s step-back: only the SBM was restored, not the sampling model or the current imputationgetCovarArray() and kmeans_missSBM()’s seedingsrc/utils.h