The weighted covariance function in
PR #4960 is evolving to the following, where frequency weights are `f` and reliability weights are `a`.
Assume that the observations are in the columns of the observation matrix. the steps to compute the weighted covariance are as follows::
>>> w = f * a
>>> v1 = np.sum(w)
>>> v2 = np.sum(a * w)
>>> m -= np.sum(m * w, axis=1, keepdims=True) / v1
>>> cov = np.dot(m * w, m.T) * v1 / (v1**2 - ddof * v2)
Note that when ``a == 1``, the normalization factor ``v1 / (v1**2 - ddof * v2)`` goes over to ``1 / (np.sum(f) - ddof)``
as it should.
This is probably a good time for comments from all the kibitzers out there.