graspologic
graspologic copied to clipboard
[BUG] SBMEstimator throws an error when "loops=False" and some block has size 1
Expected Behavior
Any size-1 block should just have zero probability.
Actual Behavior
In sbm_estimators.py, _calculate_block_p calls _calculate_p, which divides zero when block.size = 0.
This can happen when some block has size one and loops=False is used.
Adding
if block.size == 0:
continue
before Line 519 of graspologic/graspologic/models/sbm_estimators.py should do the trick.