This ports over all the patch infrastructure we developed for the 2pt functions for use by the 3pt functions:
Jackknife, etc. covariance estimates
MPI capabilities
low_mem option
initalize/finalize = False option for process
func argument for covariances
Along the way, I made a few additional changes:
Don't assume that the mean k = 0 when calculating vark. Now it correctly computes the variance around the observed mean.
Added optional rng parameters a few places, so unit tests of bootstrap, kmeans, etc. can be deterministic, rather than fail every so often when the random numbers come out particularly bad.
Switched compensated NNN Zeta calculation to just take drr and rdd, rather than 6 versions of the cross terms. With the changes we've already made to how those are computed, drr is really drr + rdr + rrd, and rdd is really rdd + drd + ddr. So we don't need those other terms anymore.
Added lazy_property for the ok matrix, rather than explicitly calling build_ok_matrix. There are likely other places where a lazy_property would be useful, but I didn't bother putting these anywhere else yet.
Added the func option for the regular estimate_cov method, in addition to the estimate_multi_cov function for simplicity when you want the func option for a single correlation, not multiple.
This ports over all the patch infrastructure we developed for the 2pt functions for use by the 3pt functions:
Along the way, I made a few additional changes:
estimate_cov
method, in addition to theestimate_multi_cov
function for simplicity when you want the func option for a single correlation, not multiple.