I'm going to go ahead and merge this, but there are definitely some issues that need addressing in future PRs. I'll open some issues, linked to this PR, to track them.
In brief:
1) The following script, run on current master and on this PR, shows that the current algorithm seems to perform better wall-clock wise and path-approximation-wise. The differences are minor, and can probably be addressed by additional parameter tuning and optimization, so I think it's worth merging to get the additional future features enabled by this PR.
2) We need some more user-facing flexibility on the exact = TRUE ADMM. I'd suggest that the number of per gamma iterations (currently 2501) and the convergence thresholds be made consistent across clustering and bi-clustering and configurable through clustRviz_options.
3) The algorithm string printed by print.CBASS is no longer accurate.
4) The calls to reset_aux should be removed. Right now, they only have the effect of slowing down convergence with exact = TRUE by resetting U for no real reason.
I'm going to go ahead and merge this, but there are definitely some issues that need addressing in future PRs. I'll open some issues, linked to this PR, to track them.
In brief:
1) The following script, run on current master and on this PR, shows that the current algorithm seems to perform better wall-clock wise and path-approximation-wise. The differences are minor, and can probably be addressed by additional parameter tuning and optimization, so I think it's worth merging to get the additional future features enabled by this PR.
2) We need some more user-facing flexibility on the
exact = TRUE
ADMM. I'd suggest that the number of per gamma iterations (currently 2501) and the convergence thresholds be made consistent across clustering and bi-clustering and configurable throughclustRviz_options
.3) The algorithm string printed by
print.CBASS
is no longer accurate.4) The calls to
reset_aux
should be removed. Right now, they only have the effect of slowing down convergence withexact = TRUE
by resettingU
for no real reason.