During optimization, certain running sums are computed, which may, over time, become out-of-sync with their true values. In practice, we have not found this to be a problem, but in case it pops up, this program will recalculate all of these sums from scratch. This implementation handles sparsity using a greedy clustering approach. The small_clusters parameter indicates the size of the clusters: 16 (small) or 256 (not small). Generally, size-256 clusters will give significantly better performance. The active_clusters parameter is the number of clusters which will be active at every point in the greedy clustering algorithm. We have found that 64 works well, but increasing this number will improve the quality of the clustering (at the cost of more time being required to find it). Allowed options: -h [ --help ] display this help -i [ --input ] arg input model file -o [ --output ] arg output model file (may be same as input) -s [ --small_clusters ] arg (=0) use size-16 instead of size-256 clusters? -a [ --active_clusters ] arg (=64) number of "active" clusters