diff --git a/docs/_build/doctrees/catalog.doctree b/docs/_build/doctrees/catalog.doctree index 6bd26aa8..9e3a624c 100644 Binary files a/docs/_build/doctrees/catalog.doctree and b/docs/_build/doctrees/catalog.doctree differ diff --git a/docs/_build/doctrees/changes.doctree b/docs/_build/doctrees/changes.doctree index 5a20a187..9de34242 100644 Binary files a/docs/_build/doctrees/changes.doctree and b/docs/_build/doctrees/changes.doctree differ diff --git a/docs/_build/doctrees/correlation2.doctree b/docs/_build/doctrees/correlation2.doctree index f5ab9114..ee69422f 100644 Binary files a/docs/_build/doctrees/correlation2.doctree and b/docs/_build/doctrees/correlation2.doctree differ diff --git a/docs/_build/doctrees/correlation3.doctree b/docs/_build/doctrees/correlation3.doctree index 9d09185b..eae3c6df 100644 Binary files a/docs/_build/doctrees/correlation3.doctree and b/docs/_build/doctrees/correlation3.doctree differ diff --git a/docs/_build/doctrees/environment.pickle b/docs/_build/doctrees/environment.pickle index 0833781d..dd7ebc95 100644 Binary files a/docs/_build/doctrees/environment.pickle and b/docs/_build/doctrees/environment.pickle differ diff --git a/docs/_build/doctrees/field.doctree b/docs/_build/doctrees/field.doctree index c68d982e..d5c95d6b 100644 Binary files a/docs/_build/doctrees/field.doctree and b/docs/_build/doctrees/field.doctree differ diff --git a/docs/_build/doctrees/gg.doctree b/docs/_build/doctrees/gg.doctree index aaaacb59..833456a6 100644 Binary files a/docs/_build/doctrees/gg.doctree and b/docs/_build/doctrees/gg.doctree differ diff --git a/docs/_build/doctrees/ggg.doctree b/docs/_build/doctrees/ggg.doctree index 5e1a927e..99376b45 100644 Binary files a/docs/_build/doctrees/ggg.doctree and b/docs/_build/doctrees/ggg.doctree differ diff --git a/docs/_build/doctrees/kg.doctree b/docs/_build/doctrees/kg.doctree index fe7b6b87..c8d488e0 100644 Binary files a/docs/_build/doctrees/kg.doctree and b/docs/_build/doctrees/kg.doctree differ diff --git a/docs/_build/doctrees/kk.doctree b/docs/_build/doctrees/kk.doctree index ae517169..8b8df262 100644 Binary files a/docs/_build/doctrees/kk.doctree and b/docs/_build/doctrees/kk.doctree differ diff --git a/docs/_build/doctrees/kkk.doctree b/docs/_build/doctrees/kkk.doctree index 1604fbe2..9dc5ea85 100644 Binary files a/docs/_build/doctrees/kkk.doctree and b/docs/_build/doctrees/kkk.doctree differ diff --git a/docs/_build/doctrees/ng.doctree b/docs/_build/doctrees/ng.doctree index 607cf199..ee543311 100644 Binary files a/docs/_build/doctrees/ng.doctree and b/docs/_build/doctrees/ng.doctree differ diff --git a/docs/_build/doctrees/nk.doctree b/docs/_build/doctrees/nk.doctree index 955986e1..853cdc8f 100644 Binary files a/docs/_build/doctrees/nk.doctree and b/docs/_build/doctrees/nk.doctree differ diff --git a/docs/_build/doctrees/nn.doctree b/docs/_build/doctrees/nn.doctree index a7e111fc..93f50bfd 100644 Binary files a/docs/_build/doctrees/nn.doctree and b/docs/_build/doctrees/nn.doctree differ diff --git a/docs/_build/doctrees/nnn.doctree b/docs/_build/doctrees/nnn.doctree index cf706a75..88c76310 100644 Binary files a/docs/_build/doctrees/nnn.doctree and b/docs/_build/doctrees/nnn.doctree differ diff --git a/docs/_build/doctrees/scripts.doctree b/docs/_build/doctrees/scripts.doctree index f188cb82..c09c403f 100644 Binary files a/docs/_build/doctrees/scripts.doctree and b/docs/_build/doctrees/scripts.doctree differ diff --git a/docs/_build/html/.buildinfo b/docs/_build/html/.buildinfo index 9ff0078d..2c914605 100644 --- a/docs/_build/html/.buildinfo +++ b/docs/_build/html/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 608a98c24c9106aeb9bf24a56abdb7d0 +config: c965f9a7bf61bca5222122fdf899c1af tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/_build/html/_modules/index.html b/docs/_build/html/_modules/index.html index b4fdef5f..292635dc 100644 --- a/docs/_build/html/_modules/index.html +++ b/docs/_build/html/_modules/index.html @@ -7,7 +7,7 @@ - Overview: module code — TreeCorr 4.2.3 documentation + Overview: module code — TreeCorr 4.2.5 documentation @@ -32,7 +32,6 @@ - @@ -104,6 +103,7 @@
  • Changes from version 4.2.1 to 4.2.2
  • Changes from version 4.2.2 to 4.2.3
  • Changes from version 4.2.3 to 4.2.4
  • +
  • Changes from version 4.2.4 to 4.2.5
  • Previous History
  • diff --git a/docs/_build/html/_modules/treecorr/binnedcorr2.html b/docs/_build/html/_modules/treecorr/binnedcorr2.html index 91b0f054..9dc10901 100644 --- a/docs/_build/html/_modules/treecorr/binnedcorr2.html +++ b/docs/_build/html/_modules/treecorr/binnedcorr2.html @@ -7,7 +7,7 @@ - treecorr.binnedcorr2 — TreeCorr 4.2.3 documentation + treecorr.binnedcorr2 — TreeCorr 4.2.5 documentation @@ -32,7 +32,6 @@ - @@ -104,6 +103,7 @@
  • Changes from version 4.2.1 to 4.2.2
  • Changes from version 4.2.2 to 4.2.3
  • Changes from version 4.2.3 to 4.2.4
  • +
  • Changes from version 4.2.4 to 4.2.5
  • Previous History
  • @@ -762,8 +762,9 @@

    Source code for treecorr.binnedcorr2

             # For now, ignore the metric.  Just be conservative about how much space we need.
             x1,y1,z1,s1 = c1._get_center_size()
             x2,y2,z2,s2 = c2._get_center_size()
    -        d = ((x1-x2)**2 + (y1-y2)**2 + (z1-z2)**2)**0.5
    -        return (d > s1 + s2 + 2*self._max_sep)  # The 2* is where we are being conservative.
    +        return _lib.TriviallyZero(self.corr, self._d1, self._d2, self._bintype,
    +                                  self._metric, self._coords,
    +                                  x1, y1, z1, s1, x2, y2, z2, s2)
     
         def _process_all_auto(self, cat1, metric, num_threads, comm, low_mem):
     
    @@ -824,6 +825,7 @@ 

    Source code for treecorr.binnedcorr2

                 else:
                     my_indices = None
     
    +            self._set_metric(metric, cat1[0].coords)
                 temp = self.copy()
                 temp.results = {}  # Don't mess up the original results
                 for ii,c1 in enumerate(cat1):
    @@ -930,6 +932,7 @@ 

    Source code for treecorr.binnedcorr2

                 else:
                     my_indices = None
     
    +            self._set_metric(metric, cat1[0].coords, cat2[0].coords)
                 temp = self.copy()
                 temp.results = {}  # Don't mess up the original results
                 for ii,c1 in enumerate(cat1):
    diff --git a/docs/_build/html/_modules/treecorr/binnedcorr3.html b/docs/_build/html/_modules/treecorr/binnedcorr3.html
    index 1179cb64..f8111d7d 100644
    --- a/docs/_build/html/_modules/treecorr/binnedcorr3.html
    +++ b/docs/_build/html/_modules/treecorr/binnedcorr3.html
    @@ -7,7 +7,7 @@
       
       
       
    -  treecorr.binnedcorr3 — TreeCorr 4.2.3 documentation
    +  treecorr.binnedcorr3 — TreeCorr 4.2.5 documentation
       
     
       
    @@ -32,7 +32,6 @@
             
             
             
    -        
         
         
     
    @@ -104,6 +103,7 @@
     
  • Changes from version 4.2.1 to 4.2.2
  • Changes from version 4.2.2 to 4.2.3
  • Changes from version 4.2.3 to 4.2.4
  • +
  • Changes from version 4.2.4 to 4.2.5
  • Previous History
  • diff --git a/docs/_build/html/_modules/treecorr/catalog.html b/docs/_build/html/_modules/treecorr/catalog.html index a4b9362b..5434cae8 100644 --- a/docs/_build/html/_modules/treecorr/catalog.html +++ b/docs/_build/html/_modules/treecorr/catalog.html @@ -7,7 +7,7 @@ - treecorr.catalog — TreeCorr 4.2.3 documentation + treecorr.catalog — TreeCorr 4.2.5 documentation @@ -32,7 +32,6 @@ - @@ -104,6 +103,7 @@
  • Changes from version 4.2.1 to 4.2.2
  • Changes from version 4.2.2 to 4.2.3
  • Changes from version 4.2.3 to 4.2.4
  • +
  • Changes from version 4.2.4 to 4.2.5
  • Previous History
  • diff --git a/docs/_build/html/_modules/treecorr/config.html b/docs/_build/html/_modules/treecorr/config.html index bb4c33a5..e42a612d 100644 --- a/docs/_build/html/_modules/treecorr/config.html +++ b/docs/_build/html/_modules/treecorr/config.html @@ -7,7 +7,7 @@ - treecorr.config — TreeCorr 4.2.3 documentation + treecorr.config — TreeCorr 4.2.5 documentation @@ -32,7 +32,6 @@ - @@ -104,6 +103,7 @@
  • Changes from version 4.2.1 to 4.2.2
  • Changes from version 4.2.2 to 4.2.3
  • Changes from version 4.2.3 to 4.2.4
  • +
  • Changes from version 4.2.4 to 4.2.5
  • Previous History
  • diff --git a/docs/_build/html/_modules/treecorr/corr2.html b/docs/_build/html/_modules/treecorr/corr2.html index c4c784a4..17de45f4 100644 --- a/docs/_build/html/_modules/treecorr/corr2.html +++ b/docs/_build/html/_modules/treecorr/corr2.html @@ -7,7 +7,7 @@ - treecorr.corr2 — TreeCorr 4.2.3 documentation + treecorr.corr2 — TreeCorr 4.2.5 documentation @@ -32,7 +32,6 @@ - @@ -104,6 +103,7 @@
  • Changes from version 4.2.1 to 4.2.2
  • Changes from version 4.2.2 to 4.2.3
  • Changes from version 4.2.3 to 4.2.4
  • +
  • Changes from version 4.2.4 to 4.2.5
  • Previous History
  • diff --git a/docs/_build/html/_modules/treecorr/corr3.html b/docs/_build/html/_modules/treecorr/corr3.html index 81b5ed1b..195620d6 100644 --- a/docs/_build/html/_modules/treecorr/corr3.html +++ b/docs/_build/html/_modules/treecorr/corr3.html @@ -7,7 +7,7 @@ - treecorr.corr3 — TreeCorr 4.2.3 documentation + treecorr.corr3 — TreeCorr 4.2.5 documentation @@ -32,7 +32,6 @@ - @@ -104,6 +103,7 @@
  • Changes from version 4.2.1 to 4.2.2
  • Changes from version 4.2.2 to 4.2.3
  • Changes from version 4.2.3 to 4.2.4
  • +
  • Changes from version 4.2.4 to 4.2.5
  • Previous History
  • diff --git a/docs/_build/html/_modules/treecorr/field.html b/docs/_build/html/_modules/treecorr/field.html index ab5f90cb..8d9c1260 100644 --- a/docs/_build/html/_modules/treecorr/field.html +++ b/docs/_build/html/_modules/treecorr/field.html @@ -7,7 +7,7 @@ - treecorr.field — TreeCorr 4.2.3 documentation + treecorr.field — TreeCorr 4.2.5 documentation @@ -32,7 +32,6 @@ - @@ -104,6 +103,7 @@
  • Changes from version 4.2.1 to 4.2.2
  • Changes from version 4.2.2 to 4.2.3
  • Changes from version 4.2.3 to 4.2.4
  • +
  • Changes from version 4.2.4 to 4.2.5
  • Previous History
  • diff --git a/docs/_build/html/_modules/treecorr/ggcorrelation.html b/docs/_build/html/_modules/treecorr/ggcorrelation.html index b1356b27..32cd5f99 100644 --- a/docs/_build/html/_modules/treecorr/ggcorrelation.html +++ b/docs/_build/html/_modules/treecorr/ggcorrelation.html @@ -7,7 +7,7 @@ - treecorr.ggcorrelation — TreeCorr 4.2.3 documentation + treecorr.ggcorrelation — TreeCorr 4.2.5 documentation @@ -32,7 +32,6 @@ - @@ -104,6 +103,7 @@
  • Changes from version 4.2.1 to 4.2.2
  • Changes from version 4.2.2 to 4.2.3
  • Changes from version 4.2.3 to 4.2.4
  • +
  • Changes from version 4.2.4 to 4.2.5
  • Previous History
  • @@ -549,7 +549,7 @@

    Source code for treecorr.ggcorrelation

                     self.max_sep == other.max_sep):
                 raise ValueError("GGCorrelation to be added is not compatible with this one.")
     
    -        self._set_metric(other.metric, other.coords)
    +        self._set_metric(other.metric, other.coords, other.coords)
             self.xip.ravel()[:] += other.xip.ravel()[:]
             self.xim.ravel()[:] += other.xim.ravel()[:]
             self.xip_im.ravel()[:] += other.xip_im.ravel()[:]
    diff --git a/docs/_build/html/_modules/treecorr/gggcorrelation.html b/docs/_build/html/_modules/treecorr/gggcorrelation.html
    index a1a36895..46e85927 100644
    --- a/docs/_build/html/_modules/treecorr/gggcorrelation.html
    +++ b/docs/_build/html/_modules/treecorr/gggcorrelation.html
    @@ -7,7 +7,7 @@
       
       
       
    -  treecorr.gggcorrelation — TreeCorr 4.2.3 documentation
    +  treecorr.gggcorrelation — TreeCorr 4.2.5 documentation
       
     
       
    @@ -32,7 +32,6 @@
             
             
             
    -        
         
         
     
    @@ -104,6 +103,7 @@
     
  • Changes from version 4.2.1 to 4.2.2
  • Changes from version 4.2.2 to 4.2.3
  • Changes from version 4.2.3 to 4.2.4
  • +
  • Changes from version 4.2.4 to 4.2.5
  • Previous History
  • @@ -618,7 +618,7 @@

    Source code for treecorr.gggcorrelation

             self._finalize()
             mask1 = self.weight != 0
             mask2 = self.weight == 0
    -        self._var_num = varg1 * varg2 * varg3
    +        self._var_num = 4 * varg1 * varg2 * varg3
             self.cov = self.estimate_cov(self.var_method)
             # Note: diagonal should be very close to pure real.  So ok to just copy real part.
             diag = self.cov.diagonal()
    @@ -678,7 +678,7 @@ 

    Source code for treecorr.gggcorrelation

                 raise ValueError("GGGCorrelation to be added is not compatible with this one.")
     
             if not other.nonzero: return self
    -        self._set_metric(other.metric, other.coords)
    +        self._set_metric(other.metric, other.coords, other.coords, other.coords)
             self.gam0r[:] += other.gam0r[:]
             self.gam0i[:] += other.gam0i[:]
             self.gam1r[:] += other.gam1r[:]
    @@ -1220,30 +1220,35 @@ 

    Source code for treecorr.gggcorrelation

             mcmm = T1.dot(gam1)
             mmcm = T2.dot(gam2)
             mmmc = T3.dot(gam3)
    -        varmmm = (np.abs(T0)**2).dot(vargam0)
    -        varmcmm = (np.abs(T1)**2).dot(vargam1)
    -        varmmcm = (np.abs(T2)**2).dot(vargam2)
    -        varmmmc = (np.abs(T3)**2).dot(vargam3)
    +
    +        # These accumulate the coefficients that are being dotted to gam0,1,2,3 respectively.
    +        # Below, we will take the abs^2 and dot it to gam0,1,2,3 in each case to compute the
    +        # total variance.
    +        # Note: This assumes that gam0, gam1, gam2, gam3 have no covariance.
    +        # This is not technically true, but I think it's approximately ok.
    +        var0 = T0.copy()
    +        var1 = T1.copy()
    +        var2 = T2.copy()
    +        var3 = T3.copy()
     
             if k2 == 1 and k3 == 1:
                 mmm *= 6
    -            varmmm *= 6
                 mcmm += mmcm
                 mcmm += mmmc
                 mcmm *= 2
                 mmcm = mmmc = mcmm
    -            varmcmm += varmmcm
    -            varmcmm += varmmmc
    -            varmcmm *= 2
    -            varmmcm = varmmmc = varmcmm
    +            var0 *= 6
    +            var1 *= 6
    +            var2 *= 6
    +            var3 *= 6
             else:
                 # Repeat the above for the other permutations
    -            for (_k1, _k2, _k3, _mcmm, _mmcm, _mmmc, _varmcmm, _varmmcm, _varmmmc) in [
    -                    (1,k3,k2,mcmm,mmmc,mmcm,varmcmm,varmmmc,varmmcm),
    -                    (k2,1,k3,mmcm,mcmm,mmmc,varmmcm,varmcmm,varmmmc),
    -                    (k2,k3,1,mmcm,mmmc,mcmm,varmmcm,varmmmc,varmcmm),
    -                    (k3,1,k2,mmmc,mcmm,mmcm,varmmmc,varmcmm,varmmcm),
    -                    (k3,k2,1,mmmc,mmcm,mcmm,varmmmc,varmmcm,varmcmm) ]:
    +            for (_k1, _k2, _k3, _mcmm, _mmcm, _mmmc) in [
    +                    (1,k3,k2,mcmm,mmmc,mmcm),
    +                    (k2,1,k3,mmcm,mcmm,mmmc),
    +                    (k2,k3,1,mmcm,mmmc,mcmm),
    +                    (k3,1,k2,mmmc,mcmm,mmcm),
    +                    (k3,k2,1,mmmc,mmcm,mcmm) ]:
                     T0, T1, T2, T3 = self._calculateT(s,t,_k1,_k2,_k3)
                     T0 *= sds * d2t
                     T1 *= sds * d2t
    @@ -1254,10 +1259,10 @@ 

    Source code for treecorr.gggcorrelation

                     _mcmm += T1.dot(gam1)
                     _mmcm += T2.dot(gam2)
                     _mmmc += T3.dot(gam3)
    -                varmmm += (np.abs(T0)**2).dot(vargam0)
    -                _varmcmm += (np.abs(T1)**2).dot(vargam1)
    -                _varmmcm += (np.abs(T2)**2).dot(vargam2)
    -                _varmmmc += (np.abs(T3)**2).dot(vargam3)
    +                var0 += T0
    +                var1 += T1
    +                var2 += T2
    +                var3 += T3
     
             map3 = 0.25 * np.real(mcmm + mmcm + mmmc + mmm)
             mapmapmx = 0.25 * np.imag(mcmm + mmcm - mmmc + mmm)
    @@ -1268,7 +1273,16 @@ 

    Source code for treecorr.gggcorrelation

             mapmxmx = 0.25 * np.real(-mcmm + mmcm + mmmc - mmm)
             mx3 = 0.25 * np.imag(mcmm + mmcm + mmmc - mmm)
     
    -        var = (varmcmm + varmmcm + varmmmc + varmmm) / 16.
    +        var0 /= 4
    +        var1 /= 4
    +        var2 /= 4
    +        var3 /= 4
    +
    +        # Now finally add up the coefficient squared times each vargam element.
    +        var = np.abs(var0**2).dot(vargam0)
    +        var += np.abs(var1**2).dot(vargam1)
    +        var += np.abs(var2**2).dot(vargam2)
    +        var += np.abs(var3**2).dot(vargam3)
     
             return map3, mapmapmx, mapmxmap, mxmapmap, mxmxmap, mxmapmx, mapmxmx, mx3, var
    @@ -1338,7 +1352,7 @@

    Source code for treecorr.gggcorrelation

         Therefore, this class holds 6 instances of `GGGCorrelation`, which in turn hold the
         information about triangles in each of the relevant configurations.  We name these:
     
    -    Attribute:
    +    Attributes:
             g1g2g3:     Triangles where G1 is opposite d1, G2 is opposite d2, G3 is opposite d3.
             g1g3g2:     Triangles where G1 is opposite d1, G3 is opposite d2, G2 is opposite d3.
             g2g1g3:     Triangles where G2 is opposite d1, G1 is opposite d2, G3 is opposite d3.
    diff --git a/docs/_build/html/_modules/treecorr/kgcorrelation.html b/docs/_build/html/_modules/treecorr/kgcorrelation.html
    index 610c6767..51002c91 100644
    --- a/docs/_build/html/_modules/treecorr/kgcorrelation.html
    +++ b/docs/_build/html/_modules/treecorr/kgcorrelation.html
    @@ -7,7 +7,7 @@
       
       
       
    -  treecorr.kgcorrelation — TreeCorr 4.2.3 documentation
    +  treecorr.kgcorrelation — TreeCorr 4.2.5 documentation
       
     
       
    @@ -32,7 +32,6 @@
             
             
             
    -        
         
         
     
    @@ -104,6 +103,7 @@
     
  • Changes from version 4.2.1 to 4.2.2
  • Changes from version 4.2.2 to 4.2.3
  • Changes from version 4.2.3 to 4.2.4
  • +
  • Changes from version 4.2.4 to 4.2.5
  • Previous History
  • @@ -490,7 +490,7 @@

    Source code for treecorr.kgcorrelation

                     self.max_sep == other.max_sep):
                 raise ValueError("KGCorrelation to be added is not compatible with this one.")
     
    -        self._set_metric(other.metric, other.coords)
    +        self._set_metric(other.metric, other.coords, other.coords)
             self.xi.ravel()[:] += other.xi.ravel()[:]
             self.xi_im.ravel()[:] += other.xi_im.ravel()[:]
             self.meanr.ravel()[:] += other.meanr.ravel()[:]
    diff --git a/docs/_build/html/_modules/treecorr/kkcorrelation.html b/docs/_build/html/_modules/treecorr/kkcorrelation.html
    index e4e4c7f2..378970bd 100644
    --- a/docs/_build/html/_modules/treecorr/kkcorrelation.html
    +++ b/docs/_build/html/_modules/treecorr/kkcorrelation.html
    @@ -7,7 +7,7 @@
       
       
       
    -  treecorr.kkcorrelation — TreeCorr 4.2.3 documentation
    +  treecorr.kkcorrelation — TreeCorr 4.2.5 documentation
       
     
       
    @@ -32,7 +32,6 @@
             
             
             
    -        
         
         
     
    @@ -104,6 +103,7 @@
     
  • Changes from version 4.2.1 to 4.2.2
  • Changes from version 4.2.2 to 4.2.3
  • Changes from version 4.2.3 to 4.2.4
  • +
  • Changes from version 4.2.4 to 4.2.5
  • Previous History
  • @@ -518,7 +518,7 @@

    Source code for treecorr.kkcorrelation

                     self.max_sep == other.max_sep):
                 raise ValueError("KKCorrelation to be added is not compatible with this one.")
     
    -        self._set_metric(other.metric, other.coords)
    +        self._set_metric(other.metric, other.coords, other.coords)
             self.xi.ravel()[:] += other.xi.ravel()[:]
             self.meanr.ravel()[:] += other.meanr.ravel()[:]
             self.meanlogr.ravel()[:] += other.meanlogr.ravel()[:]
    diff --git a/docs/_build/html/_modules/treecorr/kkkcorrelation.html b/docs/_build/html/_modules/treecorr/kkkcorrelation.html
    index 7407737a..f0fae572 100644
    --- a/docs/_build/html/_modules/treecorr/kkkcorrelation.html
    +++ b/docs/_build/html/_modules/treecorr/kkkcorrelation.html
    @@ -7,7 +7,7 @@
       
       
       
    -  treecorr.kkkcorrelation — TreeCorr 4.2.3 documentation
    +  treecorr.kkkcorrelation — TreeCorr 4.2.5 documentation
       
     
       
    @@ -32,7 +32,6 @@
             
             
             
    -        
         
         
     
    @@ -104,6 +103,7 @@
     
  • Changes from version 4.2.1 to 4.2.2
  • Changes from version 4.2.2 to 4.2.3
  • Changes from version 4.2.3 to 4.2.4
  • +
  • Changes from version 4.2.4 to 4.2.5
  • Previous History
  • @@ -582,7 +582,7 @@

    Source code for treecorr.kkkcorrelation

                 raise ValueError("KKKCorrelation to be added is not compatible with this one.")
     
             if not other.nonzero: return self
    -        self._set_metric(other.metric, other.coords)
    +        self._set_metric(other.metric, other.coords, other.coords, other.coords)
             self.zeta[:] += other.zeta[:]
             self.meand1[:] += other.meand1[:]
             self.meanlogd1[:] += other.meanlogd1[:]
    @@ -832,7 +832,7 @@ 

    Source code for treecorr.kkkcorrelation

         Therefore, this class holds 6 instances of `KKKCorrelation`, which in turn hold the
         information about triangles in each of the relevant configurations.  We name these:
     
    -    Attribute:
    +    Attributes:
             k1k2k3:     Triangles where K1 is opposite d1, K2 is opposite d2, K3 is opposite d3.
             k1k3k2:     Triangles where K1 is opposite d1, K3 is opposite d2, K2 is opposite d3.
             k2k1k3:     Triangles where K2 is opposite d1, K1 is opposite d2, K3 is opposite d3.
    diff --git a/docs/_build/html/_modules/treecorr/ngcorrelation.html b/docs/_build/html/_modules/treecorr/ngcorrelation.html
    index 3cf362a5..a1b37886 100644
    --- a/docs/_build/html/_modules/treecorr/ngcorrelation.html
    +++ b/docs/_build/html/_modules/treecorr/ngcorrelation.html
    @@ -7,7 +7,7 @@
       
       
       
    -  treecorr.ngcorrelation — TreeCorr 4.2.3 documentation
    +  treecorr.ngcorrelation — TreeCorr 4.2.5 documentation
       
     
       
    @@ -32,7 +32,6 @@
             
             
             
    -        
         
         
     
    @@ -104,6 +103,7 @@
     
  • Changes from version 4.2.1 to 4.2.2
  • Changes from version 4.2.2 to 4.2.3
  • Changes from version 4.2.3 to 4.2.4
  • +
  • Changes from version 4.2.4 to 4.2.5
  • Previous History
  • @@ -509,7 +509,7 @@

    Source code for treecorr.ngcorrelation

                     self.max_sep == other.max_sep):
                 raise ValueError("NGCorrelation to be added is not compatible with this one.")
     
    -        self._set_metric(other.metric, other.coords)
    +        self._set_metric(other.metric, other.coords, other.coords)
             self.raw_xi.ravel()[:] += other.raw_xi.ravel()[:]
             self.raw_xi_im.ravel()[:] += other.raw_xi_im.ravel()[:]
             self.meanr.ravel()[:] += other.meanr.ravel()[:]
    diff --git a/docs/_build/html/_modules/treecorr/nkcorrelation.html b/docs/_build/html/_modules/treecorr/nkcorrelation.html
    index 504ffa31..a95232c5 100644
    --- a/docs/_build/html/_modules/treecorr/nkcorrelation.html
    +++ b/docs/_build/html/_modules/treecorr/nkcorrelation.html
    @@ -7,7 +7,7 @@
       
       
       
    -  treecorr.nkcorrelation — TreeCorr 4.2.3 documentation
    +  treecorr.nkcorrelation — TreeCorr 4.2.5 documentation
       
     
       
    @@ -32,7 +32,6 @@
             
             
             
    -        
         
         
     
    @@ -104,6 +103,7 @@
     
  • Changes from version 4.2.1 to 4.2.2
  • Changes from version 4.2.2 to 4.2.3
  • Changes from version 4.2.3 to 4.2.4
  • +
  • Changes from version 4.2.4 to 4.2.5
  • Previous History
  • @@ -501,7 +501,7 @@

    Source code for treecorr.nkcorrelation

                     self.max_sep == other.max_sep):
                 raise ValueError("NKCorrelation to be added is not compatible with this one.")
     
    -        self._set_metric(other.metric, other.coords)
    +        self._set_metric(other.metric, other.coords, other.coords)
             self.raw_xi.ravel()[:] += other.raw_xi.ravel()[:]
             self.meanr.ravel()[:] += other.meanr.ravel()[:]
             self.meanlogr.ravel()[:] += other.meanlogr.ravel()[:]
    diff --git a/docs/_build/html/_modules/treecorr/nncorrelation.html b/docs/_build/html/_modules/treecorr/nncorrelation.html
    index 5aca277b..8c153fd5 100644
    --- a/docs/_build/html/_modules/treecorr/nncorrelation.html
    +++ b/docs/_build/html/_modules/treecorr/nncorrelation.html
    @@ -7,7 +7,7 @@
       
       
       
    -  treecorr.nncorrelation — TreeCorr 4.2.3 documentation
    +  treecorr.nncorrelation — TreeCorr 4.2.5 documentation
       
     
       
    @@ -32,7 +32,6 @@
             
             
             
    -        
         
         
     
    @@ -104,6 +103,7 @@
     
  • Changes from version 4.2.1 to 4.2.2
  • Changes from version 4.2.2 to 4.2.3
  • Changes from version 4.2.3 to 4.2.4
  • +
  • Changes from version 4.2.4 to 4.2.5
  • Previous History
  • @@ -537,7 +537,7 @@

    Source code for treecorr.nncorrelation

                     self.max_sep == other.max_sep):
                 raise ValueError("NNCorrelation to be added is not compatible with this one.")
     
    -        self._set_metric(other.metric, other.coords)
    +        self._set_metric(other.metric, other.coords, other.coords)
             self.meanr.ravel()[:] += other.meanr.ravel()[:]
             self.meanlogr.ravel()[:] += other.meanlogr.ravel()[:]
             self.weight.ravel()[:] += other.weight.ravel()[:]
    diff --git a/docs/_build/html/_modules/treecorr/nnncorrelation.html b/docs/_build/html/_modules/treecorr/nnncorrelation.html
    index 39cd1641..54475324 100644
    --- a/docs/_build/html/_modules/treecorr/nnncorrelation.html
    +++ b/docs/_build/html/_modules/treecorr/nnncorrelation.html
    @@ -7,7 +7,7 @@
       
       
       
    -  treecorr.nnncorrelation — TreeCorr 4.2.3 documentation
    +  treecorr.nnncorrelation — TreeCorr 4.2.5 documentation
       
     
       
    @@ -32,7 +32,6 @@
             
             
             
    -        
         
         
     
    @@ -104,6 +103,7 @@
     
  • Changes from version 4.2.1 to 4.2.2
  • Changes from version 4.2.2 to 4.2.3
  • Changes from version 4.2.3 to 4.2.4
  • +
  • Changes from version 4.2.4 to 4.2.5
  • Previous History
  • @@ -640,7 +640,7 @@

    Source code for treecorr.nnncorrelation

                     self.max_v == other.max_v):
                 raise ValueError("NNNCorrelation to be added is not compatible with this one.")
     
    -        self._set_metric(other.metric, other.coords)
    +        self._set_metric(other.metric, other.coords, other.coords, other.coords)
             self.tot += other.tot
     
             # If other is empty, then we're done now.
    @@ -1141,7 +1141,7 @@ 

    Source code for treecorr.nnncorrelation

         Therefore, this class holds 6 instances of `NNNCorrelation`, which in turn hold the
         information about triangles in each of the relevant configurations.  We name these:
     
    -    Attribute:
    +    Attributes:
             n1n2n3:     Triangles where N1 is opposite d1, N2 is opposite d2, N3 is opposite d3.
             n1n3n2:     Triangles where N1 is opposite d1, N3 is opposite d2, N2 is opposite d3.
             n2n1n3:     Triangles where N2 is opposite d1, N1 is opposite d2, N3 is opposite d3.
    diff --git a/docs/_build/html/_modules/treecorr/reader.html b/docs/_build/html/_modules/treecorr/reader.html
    index 6f07a497..a3cd6f74 100644
    --- a/docs/_build/html/_modules/treecorr/reader.html
    +++ b/docs/_build/html/_modules/treecorr/reader.html
    @@ -7,7 +7,7 @@
       
       
       
    -  treecorr.reader — TreeCorr 4.2.3 documentation
    +  treecorr.reader — TreeCorr 4.2.5 documentation
       
     
       
    @@ -32,7 +32,6 @@
             
             
             
    -        
         
         
     
    @@ -104,6 +103,7 @@
     
  • Changes from version 4.2.1 to 4.2.2
  • Changes from version 4.2.2 to 4.2.3
  • Changes from version 4.2.3 to 4.2.4
  • +
  • Changes from version 4.2.4 to 4.2.5
  • Previous History
  • diff --git a/docs/_build/html/_static/basic.css b/docs/_build/html/_static/basic.css index be19270e..b3bdc004 100644 --- a/docs/_build/html/_static/basic.css +++ b/docs/_build/html/_static/basic.css @@ -277,25 +277,25 @@ p.rubric { font-weight: bold; } -img.align-left, .figure.align-left, object.align-left { +img.align-left, figure.align-left, .figure.align-left, object.align-left { clear: left; float: left; margin-right: 1em; } -img.align-right, .figure.align-right, object.align-right { +img.align-right, figure.align-right, .figure.align-right, object.align-right { clear: right; float: right; margin-left: 1em; } -img.align-center, .figure.align-center, object.align-center { +img.align-center, figure.align-center, .figure.align-center, object.align-center { display: block; margin-left: auto; margin-right: auto; } -img.align-default, .figure.align-default { +img.align-default, figure.align-default, .figure.align-default { display: block; margin-left: auto; margin-right: auto; @@ -319,7 +319,8 @@ img.align-default, .figure.align-default { /* -- sidebars -------------------------------------------------------------- */ -div.sidebar { +div.sidebar, +aside.sidebar { margin: 0 0 0.5em 1em; border: 1px solid #ddb; padding: 7px; @@ -377,12 +378,14 @@ div.body p.centered { /* -- content of sidebars/topics/admonitions -------------------------------- */ div.sidebar > :last-child, +aside.sidebar > :last-child, div.topic > :last-child, div.admonition > :last-child { margin-bottom: 0; } div.sidebar::after, +aside.sidebar::after, div.topic::after, div.admonition::after, blockquote::after { @@ -455,20 +458,22 @@ td > :last-child { /* -- figures --------------------------------------------------------------- */ -div.figure { +div.figure, figure { margin: 0.5em; padding: 0.5em; } -div.figure p.caption { +div.figure p.caption, figcaption { padding: 0.3em; } -div.figure p.caption span.caption-number { +div.figure p.caption span.caption-number, +figcaption span.caption-number { font-style: italic; } -div.figure p.caption span.caption-text { +div.figure p.caption span.caption-text, +figcaption span.caption-text { } /* -- field list styles ----------------------------------------------------- */ diff --git a/docs/_build/html/_static/doctools.js b/docs/_build/html/_static/doctools.js index 144884ea..61ac9d26 100644 --- a/docs/_build/html/_static/doctools.js +++ b/docs/_build/html/_static/doctools.js @@ -29,9 +29,14 @@ if (!window.console || !console.firebug) { /** * small helper function to urldecode strings + * + * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent#Decoding_query_parameters_from_a_URL */ jQuery.urldecode = function(x) { - return decodeURIComponent(x).replace(/\+/g, ' '); + if (!x) { + return x + } + return decodeURIComponent(x.replace(/\+/g, ' ')); }; /** diff --git a/docs/_build/html/_static/documentation_options.js b/docs/_build/html/_static/documentation_options.js index 52a86131..15a42b71 100644 --- a/docs/_build/html/_static/documentation_options.js +++ b/docs/_build/html/_static/documentation_options.js @@ -1,6 +1,6 @@ var DOCUMENTATION_OPTIONS = { URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), - VERSION: '4.2.3', + VERSION: '4.2.5', LANGUAGE: 'None', COLLAPSE_INDEX: false, BUILDER: 'html', diff --git a/docs/_build/html/_static/fonts/Lato/lato-bold.eot b/docs/_build/html/_static/fonts/Lato/lato-bold.eot new file mode 100644 index 00000000..3361183a Binary files /dev/null and b/docs/_build/html/_static/fonts/Lato/lato-bold.eot differ diff --git a/docs/_build/html/_static/fonts/Lato/lato-bold.ttf b/docs/_build/html/_static/fonts/Lato/lato-bold.ttf new file mode 100644 index 00000000..29f691d5 Binary files /dev/null and b/docs/_build/html/_static/fonts/Lato/lato-bold.ttf differ diff --git a/docs/_build/html/_static/fonts/Lato/lato-bold.woff b/docs/_build/html/_static/fonts/Lato/lato-bold.woff new file mode 100644 index 00000000..c6dff51f Binary files /dev/null and b/docs/_build/html/_static/fonts/Lato/lato-bold.woff differ diff --git a/docs/_build/html/_static/fonts/Lato/lato-bold.woff2 b/docs/_build/html/_static/fonts/Lato/lato-bold.woff2 new file mode 100644 index 00000000..bb195043 Binary files /dev/null and b/docs/_build/html/_static/fonts/Lato/lato-bold.woff2 differ diff --git a/docs/_build/html/_static/fonts/Lato/lato-bolditalic.eot b/docs/_build/html/_static/fonts/Lato/lato-bolditalic.eot new file mode 100644 index 00000000..3d415493 Binary files /dev/null and b/docs/_build/html/_static/fonts/Lato/lato-bolditalic.eot differ diff --git a/docs/_build/html/_static/fonts/Lato/lato-bolditalic.ttf b/docs/_build/html/_static/fonts/Lato/lato-bolditalic.ttf new file mode 100644 index 00000000..f402040b Binary files /dev/null and b/docs/_build/html/_static/fonts/Lato/lato-bolditalic.ttf differ diff --git a/docs/_build/html/_static/fonts/Lato/lato-bolditalic.woff b/docs/_build/html/_static/fonts/Lato/lato-bolditalic.woff new file mode 100644 index 00000000..88ad05b9 Binary files /dev/null and b/docs/_build/html/_static/fonts/Lato/lato-bolditalic.woff differ diff --git a/docs/_build/html/_static/fonts/Lato/lato-bolditalic.woff2 b/docs/_build/html/_static/fonts/Lato/lato-bolditalic.woff2 new file mode 100644 index 00000000..c4e3d804 Binary files /dev/null and b/docs/_build/html/_static/fonts/Lato/lato-bolditalic.woff2 differ diff --git a/docs/_build/html/_static/fonts/Lato/lato-italic.eot b/docs/_build/html/_static/fonts/Lato/lato-italic.eot new file mode 100644 index 00000000..3f826421 Binary files /dev/null and b/docs/_build/html/_static/fonts/Lato/lato-italic.eot differ diff --git a/docs/_build/html/_static/fonts/Lato/lato-italic.ttf b/docs/_build/html/_static/fonts/Lato/lato-italic.ttf new file mode 100644 index 00000000..b4bfc9b2 Binary files /dev/null and b/docs/_build/html/_static/fonts/Lato/lato-italic.ttf differ diff --git a/docs/_build/html/_static/fonts/Lato/lato-italic.woff b/docs/_build/html/_static/fonts/Lato/lato-italic.woff new file mode 100644 index 00000000..76114bc0 Binary files /dev/null and b/docs/_build/html/_static/fonts/Lato/lato-italic.woff differ diff --git a/docs/_build/html/_static/fonts/Lato/lato-italic.woff2 b/docs/_build/html/_static/fonts/Lato/lato-italic.woff2 new file mode 100644 index 00000000..3404f37e Binary files /dev/null and b/docs/_build/html/_static/fonts/Lato/lato-italic.woff2 differ diff --git a/docs/_build/html/_static/fonts/Lato/lato-regular.eot b/docs/_build/html/_static/fonts/Lato/lato-regular.eot new file mode 100644 index 00000000..11e3f2a5 Binary files /dev/null and b/docs/_build/html/_static/fonts/Lato/lato-regular.eot differ diff --git a/docs/_build/html/_static/fonts/Lato/lato-regular.ttf b/docs/_build/html/_static/fonts/Lato/lato-regular.ttf new file mode 100644 index 00000000..74decd9e Binary files /dev/null and b/docs/_build/html/_static/fonts/Lato/lato-regular.ttf differ diff --git a/docs/_build/html/_static/fonts/Lato/lato-regular.woff b/docs/_build/html/_static/fonts/Lato/lato-regular.woff new file mode 100644 index 00000000..ae1307ff Binary files /dev/null and b/docs/_build/html/_static/fonts/Lato/lato-regular.woff differ diff --git a/docs/_build/html/_static/fonts/Lato/lato-regular.woff2 b/docs/_build/html/_static/fonts/Lato/lato-regular.woff2 new file mode 100644 index 00000000..3bf98433 Binary files /dev/null and b/docs/_build/html/_static/fonts/Lato/lato-regular.woff2 differ diff --git a/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot b/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot new file mode 100644 index 00000000..79dc8efe Binary files /dev/null and b/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot differ diff --git a/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf b/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf new file mode 100644 index 00000000..df5d1df2 Binary files /dev/null and b/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf differ diff --git a/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff b/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff new file mode 100644 index 00000000..6cb60000 Binary files /dev/null and b/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff differ diff --git a/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 b/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 new file mode 100644 index 00000000..7059e231 Binary files /dev/null and b/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 differ diff --git a/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot b/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot new file mode 100644 index 00000000..2f7ca78a Binary files /dev/null and b/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot differ diff --git a/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf b/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf new file mode 100644 index 00000000..eb52a790 Binary files /dev/null and b/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf differ diff --git a/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff b/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff new file mode 100644 index 00000000..f815f63f Binary files /dev/null and b/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff differ diff --git a/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 b/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 new file mode 100644 index 00000000..f2c76e5b Binary files /dev/null and b/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 differ diff --git a/docs/_build/html/_static/language_data.js b/docs/_build/html/_static/language_data.js index 0e7dc7e9..863704b3 100644 --- a/docs/_build/html/_static/language_data.js +++ b/docs/_build/html/_static/language_data.js @@ -13,7 +13,8 @@ var stopwords = ["a","and","are","as","at","be","but","by","for","if","in","into","is","it","near","no","not","of","on","or","such","that","the","their","then","there","these","they","this","to","was","will","with"]; -/* Non-minified version JS is _stemmer.js if file is provided */ +/* Non-minified version is copied as a separate JS file, is available */ + /** * Porter Stemmer */ @@ -199,7 +200,6 @@ var Stemmer = function() { - var splitChars = (function() { var result = {}; var singles = [96, 180, 187, 191, 215, 247, 749, 885, 903, 907, 909, 930, 1014, 1648, diff --git a/docs/_build/html/_static/searchtools.js b/docs/_build/html/_static/searchtools.js index 6fc9e7f3..1a90152e 100644 --- a/docs/_build/html/_static/searchtools.js +++ b/docs/_build/html/_static/searchtools.js @@ -248,7 +248,7 @@ var Search = { // results left, load the summary and display it if (results.length) { var item = results.pop(); - var listItem = $('
  • '); + var listItem = $('
  • '); var requestUrl = ""; var linkUrl = ""; if (DOCUMENTATION_OPTIONS.BUILDER === 'dirhtml') { @@ -273,9 +273,9 @@ var Search = { if (item[3]) { listItem.append($(' (' + item[3] + ')')); Search.output.append(listItem); - listItem.slideDown(5, function() { + setTimeout(function() { displayNextItem(); - }); + }, 5); } else if (DOCUMENTATION_OPTIONS.HAS_SOURCE) { $.ajax({url: requestUrl, dataType: "text", @@ -285,16 +285,16 @@ var Search = { listItem.append(Search.makeSearchSummary(data, searchterms, hlterms)); } Search.output.append(listItem); - listItem.slideDown(5, function() { + setTimeout(function() { displayNextItem(); - }); + }, 5); }}); } else { // no source available, just display title Search.output.append(listItem); - listItem.slideDown(5, function() { + setTimeout(function() { displayNextItem(); - }); + }, 5); } } // search finished, update title and status message @@ -379,6 +379,13 @@ var Search = { return results; }, + /** + * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions + */ + escapeRegExp : function(string) { + return string.replace(/[.*+\-?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string + }, + /** * search for full-text terms in the index */ @@ -402,13 +409,14 @@ var Search = { ]; // add support for partial matches if (word.length > 2) { + var word_regex = this.escapeRegExp(word); for (var w in terms) { - if (w.match(word) && !terms[word]) { + if (w.match(word_regex) && !terms[word]) { _o.push({files: terms[w], score: Scorer.partialTerm}) } } for (var w in titleterms) { - if (w.match(word) && !titleterms[word]) { + if (w.match(word_regex) && !titleterms[word]) { _o.push({files: titleterms[w], score: Scorer.partialTitle}) } } diff --git a/docs/_build/html/_static/underscore-1.12.0.js b/docs/_build/html/_static/underscore-1.12.0.js new file mode 100644 index 00000000..3af6352e --- /dev/null +++ b/docs/_build/html/_static/underscore-1.12.0.js @@ -0,0 +1,2027 @@ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define('underscore', factory) : + (global = global || self, (function () { + var current = global._; + var exports = global._ = factory(); + exports.noConflict = function () { global._ = current; return exports; }; + }())); +}(this, (function () { + // Underscore.js 1.12.0 + // https://underscorejs.org + // (c) 2009-2020 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + // Underscore may be freely distributed under the MIT license. + + // Current version. + var VERSION = '1.12.0'; + + // Establish the root object, `window` (`self`) in the browser, `global` + // on the server, or `this` in some virtual machines. We use `self` + // instead of `window` for `WebWorker` support. + var root = typeof self == 'object' && self.self === self && self || + typeof global == 'object' && global.global === global && global || + Function('return this')() || + {}; + + // Save bytes in the minified (but not gzipped) version: + var ArrayProto = Array.prototype, ObjProto = Object.prototype; + var SymbolProto = typeof Symbol !== 'undefined' ? Symbol.prototype : null; + + // Create quick reference variables for speed access to core prototypes. + var push = ArrayProto.push, + slice = ArrayProto.slice, + toString = ObjProto.toString, + hasOwnProperty = ObjProto.hasOwnProperty; + + // Modern feature detection. + var supportsArrayBuffer = typeof ArrayBuffer !== 'undefined', + supportsDataView = typeof DataView !== 'undefined'; + + // All **ECMAScript 5+** native function implementations that we hope to use + // are declared here. + var nativeIsArray = Array.isArray, + nativeKeys = Object.keys, + nativeCreate = Object.create, + nativeIsView = supportsArrayBuffer && ArrayBuffer.isView; + + // Create references to these builtin functions because we override them. + var _isNaN = isNaN, + _isFinite = isFinite; + + // Keys in IE < 9 that won't be iterated by `for key in ...` and thus missed. + var hasEnumBug = !{toString: null}.propertyIsEnumerable('toString'); + var nonEnumerableProps = ['valueOf', 'isPrototypeOf', 'toString', + 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString']; + + // The largest integer that can be represented exactly. + var MAX_ARRAY_INDEX = Math.pow(2, 53) - 1; + + // Some functions take a variable number of arguments, or a few expected + // arguments at the beginning and then a variable number of values to operate + // on. This helper accumulates all remaining arguments past the function’s + // argument length (or an explicit `startIndex`), into an array that becomes + // the last argument. Similar to ES6’s "rest parameter". + function restArguments(func, startIndex) { + startIndex = startIndex == null ? func.length - 1 : +startIndex; + return function() { + var length = Math.max(arguments.length - startIndex, 0), + rest = Array(length), + index = 0; + for (; index < length; index++) { + rest[index] = arguments[index + startIndex]; + } + switch (startIndex) { + case 0: return func.call(this, rest); + case 1: return func.call(this, arguments[0], rest); + case 2: return func.call(this, arguments[0], arguments[1], rest); + } + var args = Array(startIndex + 1); + for (index = 0; index < startIndex; index++) { + args[index] = arguments[index]; + } + args[startIndex] = rest; + return func.apply(this, args); + }; + } + + // Is a given variable an object? + function isObject(obj) { + var type = typeof obj; + return type === 'function' || type === 'object' && !!obj; + } + + // Is a given value equal to null? + function isNull(obj) { + return obj === null; + } + + // Is a given variable undefined? + function isUndefined(obj) { + return obj === void 0; + } + + // Is a given value a boolean? + function isBoolean(obj) { + return obj === true || obj === false || toString.call(obj) === '[object Boolean]'; + } + + // Is a given value a DOM element? + function isElement(obj) { + return !!(obj && obj.nodeType === 1); + } + + // Internal function for creating a `toString`-based type tester. + function tagTester(name) { + var tag = '[object ' + name + ']'; + return function(obj) { + return toString.call(obj) === tag; + }; + } + + var isString = tagTester('String'); + + var isNumber = tagTester('Number'); + + var isDate = tagTester('Date'); + + var isRegExp = tagTester('RegExp'); + + var isError = tagTester('Error'); + + var isSymbol = tagTester('Symbol'); + + var isArrayBuffer = tagTester('ArrayBuffer'); + + var isFunction = tagTester('Function'); + + // Optimize `isFunction` if appropriate. Work around some `typeof` bugs in old + // v8, IE 11 (#1621), Safari 8 (#1929), and PhantomJS (#2236). + var nodelist = root.document && root.document.childNodes; + if (typeof /./ != 'function' && typeof Int8Array != 'object' && typeof nodelist != 'function') { + isFunction = function(obj) { + return typeof obj == 'function' || false; + }; + } + + var isFunction$1 = isFunction; + + var hasObjectTag = tagTester('Object'); + + // In IE 10 - Edge 13, `DataView` has string tag `'[object Object]'`. + // In IE 11, the most common among them, this problem also applies to + // `Map`, `WeakMap` and `Set`. + var hasStringTagBug = ( + supportsDataView && hasObjectTag(new DataView(new ArrayBuffer(8))) + ), + isIE11 = (typeof Map !== 'undefined' && hasObjectTag(new Map)); + + var isDataView = tagTester('DataView'); + + // In IE 10 - Edge 13, we need a different heuristic + // to determine whether an object is a `DataView`. + function ie10IsDataView(obj) { + return obj != null && isFunction$1(obj.getInt8) && isArrayBuffer(obj.buffer); + } + + var isDataView$1 = (hasStringTagBug ? ie10IsDataView : isDataView); + + // Is a given value an array? + // Delegates to ECMA5's native `Array.isArray`. + var isArray = nativeIsArray || tagTester('Array'); + + // Internal function to check whether `key` is an own property name of `obj`. + function has(obj, key) { + return obj != null && hasOwnProperty.call(obj, key); + } + + var isArguments = tagTester('Arguments'); + + // Define a fallback version of the method in browsers (ahem, IE < 9), where + // there isn't any inspectable "Arguments" type. + (function() { + if (!isArguments(arguments)) { + isArguments = function(obj) { + return has(obj, 'callee'); + }; + } + }()); + + var isArguments$1 = isArguments; + + // Is a given object a finite number? + function isFinite$1(obj) { + return !isSymbol(obj) && _isFinite(obj) && !isNaN(parseFloat(obj)); + } + + // Is the given value `NaN`? + function isNaN$1(obj) { + return isNumber(obj) && _isNaN(obj); + } + + // Predicate-generating function. Often useful outside of Underscore. + function constant(value) { + return function() { + return value; + }; + } + + // Common internal logic for `isArrayLike` and `isBufferLike`. + function createSizePropertyCheck(getSizeProperty) { + return function(collection) { + var sizeProperty = getSizeProperty(collection); + return typeof sizeProperty == 'number' && sizeProperty >= 0 && sizeProperty <= MAX_ARRAY_INDEX; + } + } + + // Internal helper to generate a function to obtain property `key` from `obj`. + function shallowProperty(key) { + return function(obj) { + return obj == null ? void 0 : obj[key]; + }; + } + + // Internal helper to obtain the `byteLength` property of an object. + var getByteLength = shallowProperty('byteLength'); + + // Internal helper to determine whether we should spend extensive checks against + // `ArrayBuffer` et al. + var isBufferLike = createSizePropertyCheck(getByteLength); + + // Is a given value a typed array? + var typedArrayPattern = /\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/; + function isTypedArray(obj) { + // `ArrayBuffer.isView` is the most future-proof, so use it when available. + // Otherwise, fall back on the above regular expression. + return nativeIsView ? (nativeIsView(obj) && !isDataView$1(obj)) : + isBufferLike(obj) && typedArrayPattern.test(toString.call(obj)); + } + + var isTypedArray$1 = supportsArrayBuffer ? isTypedArray : constant(false); + + // Internal helper to obtain the `length` property of an object. + var getLength = shallowProperty('length'); + + // Internal helper to create a simple lookup structure. + // `collectNonEnumProps` used to depend on `_.contains`, but this led to + // circular imports. `emulatedSet` is a one-off solution that only works for + // arrays of strings. + function emulatedSet(keys) { + var hash = {}; + for (var l = keys.length, i = 0; i < l; ++i) hash[keys[i]] = true; + return { + contains: function(key) { return hash[key]; }, + push: function(key) { + hash[key] = true; + return keys.push(key); + } + }; + } + + // Internal helper. Checks `keys` for the presence of keys in IE < 9 that won't + // be iterated by `for key in ...` and thus missed. Extends `keys` in place if + // needed. + function collectNonEnumProps(obj, keys) { + keys = emulatedSet(keys); + var nonEnumIdx = nonEnumerableProps.length; + var constructor = obj.constructor; + var proto = isFunction$1(constructor) && constructor.prototype || ObjProto; + + // Constructor is a special case. + var prop = 'constructor'; + if (has(obj, prop) && !keys.contains(prop)) keys.push(prop); + + while (nonEnumIdx--) { + prop = nonEnumerableProps[nonEnumIdx]; + if (prop in obj && obj[prop] !== proto[prop] && !keys.contains(prop)) { + keys.push(prop); + } + } + } + + // Retrieve the names of an object's own properties. + // Delegates to **ECMAScript 5**'s native `Object.keys`. + function keys(obj) { + if (!isObject(obj)) return []; + if (nativeKeys) return nativeKeys(obj); + var keys = []; + for (var key in obj) if (has(obj, key)) keys.push(key); + // Ahem, IE < 9. + if (hasEnumBug) collectNonEnumProps(obj, keys); + return keys; + } + + // Is a given array, string, or object empty? + // An "empty" object has no enumerable own-properties. + function isEmpty(obj) { + if (obj == null) return true; + // Skip the more expensive `toString`-based type checks if `obj` has no + // `.length`. + var length = getLength(obj); + if (typeof length == 'number' && ( + isArray(obj) || isString(obj) || isArguments$1(obj) + )) return length === 0; + return getLength(keys(obj)) === 0; + } + + // Returns whether an object has a given set of `key:value` pairs. + function isMatch(object, attrs) { + var _keys = keys(attrs), length = _keys.length; + if (object == null) return !length; + var obj = Object(object); + for (var i = 0; i < length; i++) { + var key = _keys[i]; + if (attrs[key] !== obj[key] || !(key in obj)) return false; + } + return true; + } + + // If Underscore is called as a function, it returns a wrapped object that can + // be used OO-style. This wrapper holds altered versions of all functions added + // through `_.mixin`. Wrapped objects may be chained. + function _(obj) { + if (obj instanceof _) return obj; + if (!(this instanceof _)) return new _(obj); + this._wrapped = obj; + } + + _.VERSION = VERSION; + + // Extracts the result from a wrapped and chained object. + _.prototype.value = function() { + return this._wrapped; + }; + + // Provide unwrapping proxies for some methods used in engine operations + // such as arithmetic and JSON stringification. + _.prototype.valueOf = _.prototype.toJSON = _.prototype.value; + + _.prototype.toString = function() { + return String(this._wrapped); + }; + + // Internal function to wrap or shallow-copy an ArrayBuffer, + // typed array or DataView to a new view, reusing the buffer. + function toBufferView(bufferSource) { + return new Uint8Array( + bufferSource.buffer || bufferSource, + bufferSource.byteOffset || 0, + getByteLength(bufferSource) + ); + } + + // We use this string twice, so give it a name for minification. + var tagDataView = '[object DataView]'; + + // Internal recursive comparison function for `_.isEqual`. + function eq(a, b, aStack, bStack) { + // Identical objects are equal. `0 === -0`, but they aren't identical. + // See the [Harmony `egal` proposal](https://wiki.ecmascript.org/doku.php?id=harmony:egal). + if (a === b) return a !== 0 || 1 / a === 1 / b; + // `null` or `undefined` only equal to itself (strict comparison). + if (a == null || b == null) return false; + // `NaN`s are equivalent, but non-reflexive. + if (a !== a) return b !== b; + // Exhaust primitive checks + var type = typeof a; + if (type !== 'function' && type !== 'object' && typeof b != 'object') return false; + return deepEq(a, b, aStack, bStack); + } + + // Internal recursive comparison function for `_.isEqual`. + function deepEq(a, b, aStack, bStack) { + // Unwrap any wrapped objects. + if (a instanceof _) a = a._wrapped; + if (b instanceof _) b = b._wrapped; + // Compare `[[Class]]` names. + var className = toString.call(a); + if (className !== toString.call(b)) return false; + // Work around a bug in IE 10 - Edge 13. + if (hasStringTagBug && className == '[object Object]' && isDataView$1(a)) { + if (!isDataView$1(b)) return false; + className = tagDataView; + } + switch (className) { + // These types are compared by value. + case '[object RegExp]': + // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i') + case '[object String]': + // Primitives and their corresponding object wrappers are equivalent; thus, `"5"` is + // equivalent to `new String("5")`. + return '' + a === '' + b; + case '[object Number]': + // `NaN`s are equivalent, but non-reflexive. + // Object(NaN) is equivalent to NaN. + if (+a !== +a) return +b !== +b; + // An `egal` comparison is performed for other numeric values. + return +a === 0 ? 1 / +a === 1 / b : +a === +b; + case '[object Date]': + case '[object Boolean]': + // Coerce dates and booleans to numeric primitive values. Dates are compared by their + // millisecond representations. Note that invalid dates with millisecond representations + // of `NaN` are not equivalent. + return +a === +b; + case '[object Symbol]': + return SymbolProto.valueOf.call(a) === SymbolProto.valueOf.call(b); + case '[object ArrayBuffer]': + case tagDataView: + // Coerce to typed array so we can fall through. + return deepEq(toBufferView(a), toBufferView(b), aStack, bStack); + } + + var areArrays = className === '[object Array]'; + if (!areArrays && isTypedArray$1(a)) { + var byteLength = getByteLength(a); + if (byteLength !== getByteLength(b)) return false; + if (a.buffer === b.buffer && a.byteOffset === b.byteOffset) return true; + areArrays = true; + } + if (!areArrays) { + if (typeof a != 'object' || typeof b != 'object') return false; + + // Objects with different constructors are not equivalent, but `Object`s or `Array`s + // from different frames are. + var aCtor = a.constructor, bCtor = b.constructor; + if (aCtor !== bCtor && !(isFunction$1(aCtor) && aCtor instanceof aCtor && + isFunction$1(bCtor) && bCtor instanceof bCtor) + && ('constructor' in a && 'constructor' in b)) { + return false; + } + } + // Assume equality for cyclic structures. The algorithm for detecting cyclic + // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`. + + // Initializing stack of traversed objects. + // It's done here since we only need them for objects and arrays comparison. + aStack = aStack || []; + bStack = bStack || []; + var length = aStack.length; + while (length--) { + // Linear search. Performance is inversely proportional to the number of + // unique nested structures. + if (aStack[length] === a) return bStack[length] === b; + } + + // Add the first object to the stack of traversed objects. + aStack.push(a); + bStack.push(b); + + // Recursively compare objects and arrays. + if (areArrays) { + // Compare array lengths to determine if a deep comparison is necessary. + length = a.length; + if (length !== b.length) return false; + // Deep compare the contents, ignoring non-numeric properties. + while (length--) { + if (!eq(a[length], b[length], aStack, bStack)) return false; + } + } else { + // Deep compare objects. + var _keys = keys(a), key; + length = _keys.length; + // Ensure that both objects contain the same number of properties before comparing deep equality. + if (keys(b).length !== length) return false; + while (length--) { + // Deep compare each member + key = _keys[length]; + if (!(has(b, key) && eq(a[key], b[key], aStack, bStack))) return false; + } + } + // Remove the first object from the stack of traversed objects. + aStack.pop(); + bStack.pop(); + return true; + } + + // Perform a deep comparison to check if two objects are equal. + function isEqual(a, b) { + return eq(a, b); + } + + // Retrieve all the enumerable property names of an object. + function allKeys(obj) { + if (!isObject(obj)) return []; + var keys = []; + for (var key in obj) keys.push(key); + // Ahem, IE < 9. + if (hasEnumBug) collectNonEnumProps(obj, keys); + return keys; + } + + // Since the regular `Object.prototype.toString` type tests don't work for + // some types in IE 11, we use a fingerprinting heuristic instead, based + // on the methods. It's not great, but it's the best we got. + // The fingerprint method lists are defined below. + function ie11fingerprint(methods) { + var length = getLength(methods); + return function(obj) { + if (obj == null) return false; + // `Map`, `WeakMap` and `Set` have no enumerable keys. + var keys = allKeys(obj); + if (getLength(keys)) return false; + for (var i = 0; i < length; i++) { + if (!isFunction$1(obj[methods[i]])) return false; + } + // If we are testing against `WeakMap`, we need to ensure that + // `obj` doesn't have a `forEach` method in order to distinguish + // it from a regular `Map`. + return methods !== weakMapMethods || !isFunction$1(obj[forEachName]); + }; + } + + // In the interest of compact minification, we write + // each string in the fingerprints only once. + var forEachName = 'forEach', + hasName = 'has', + commonInit = ['clear', 'delete'], + mapTail = ['get', hasName, 'set']; + + // `Map`, `WeakMap` and `Set` each have slightly different + // combinations of the above sublists. + var mapMethods = commonInit.concat(forEachName, mapTail), + weakMapMethods = commonInit.concat(mapTail), + setMethods = ['add'].concat(commonInit, forEachName, hasName); + + var isMap = isIE11 ? ie11fingerprint(mapMethods) : tagTester('Map'); + + var isWeakMap = isIE11 ? ie11fingerprint(weakMapMethods) : tagTester('WeakMap'); + + var isSet = isIE11 ? ie11fingerprint(setMethods) : tagTester('Set'); + + var isWeakSet = tagTester('WeakSet'); + + // Retrieve the values of an object's properties. + function values(obj) { + var _keys = keys(obj); + var length = _keys.length; + var values = Array(length); + for (var i = 0; i < length; i++) { + values[i] = obj[_keys[i]]; + } + return values; + } + + // Convert an object into a list of `[key, value]` pairs. + // The opposite of `_.object` with one argument. + function pairs(obj) { + var _keys = keys(obj); + var length = _keys.length; + var pairs = Array(length); + for (var i = 0; i < length; i++) { + pairs[i] = [_keys[i], obj[_keys[i]]]; + } + return pairs; + } + + // Invert the keys and values of an object. The values must be serializable. + function invert(obj) { + var result = {}; + var _keys = keys(obj); + for (var i = 0, length = _keys.length; i < length; i++) { + result[obj[_keys[i]]] = _keys[i]; + } + return result; + } + + // Return a sorted list of the function names available on the object. + function functions(obj) { + var names = []; + for (var key in obj) { + if (isFunction$1(obj[key])) names.push(key); + } + return names.sort(); + } + + // An internal function for creating assigner functions. + function createAssigner(keysFunc, defaults) { + return function(obj) { + var length = arguments.length; + if (defaults) obj = Object(obj); + if (length < 2 || obj == null) return obj; + for (var index = 1; index < length; index++) { + var source = arguments[index], + keys = keysFunc(source), + l = keys.length; + for (var i = 0; i < l; i++) { + var key = keys[i]; + if (!defaults || obj[key] === void 0) obj[key] = source[key]; + } + } + return obj; + }; + } + + // Extend a given object with all the properties in passed-in object(s). + var extend = createAssigner(allKeys); + + // Assigns a given object with all the own properties in the passed-in + // object(s). + // (https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/assign) + var extendOwn = createAssigner(keys); + + // Fill in a given object with default properties. + var defaults = createAssigner(allKeys, true); + + // Create a naked function reference for surrogate-prototype-swapping. + function ctor() { + return function(){}; + } + + // An internal function for creating a new object that inherits from another. + function baseCreate(prototype) { + if (!isObject(prototype)) return {}; + if (nativeCreate) return nativeCreate(prototype); + var Ctor = ctor(); + Ctor.prototype = prototype; + var result = new Ctor; + Ctor.prototype = null; + return result; + } + + // Creates an object that inherits from the given prototype object. + // If additional properties are provided then they will be added to the + // created object. + function create(prototype, props) { + var result = baseCreate(prototype); + if (props) extendOwn(result, props); + return result; + } + + // Create a (shallow-cloned) duplicate of an object. + function clone(obj) { + if (!isObject(obj)) return obj; + return isArray(obj) ? obj.slice() : extend({}, obj); + } + + // Invokes `interceptor` with the `obj` and then returns `obj`. + // The primary purpose of this method is to "tap into" a method chain, in + // order to perform operations on intermediate results within the chain. + function tap(obj, interceptor) { + interceptor(obj); + return obj; + } + + // Normalize a (deep) property `path` to array. + // Like `_.iteratee`, this function can be customized. + function toPath(path) { + return isArray(path) ? path : [path]; + } + _.toPath = toPath; + + // Internal wrapper for `_.toPath` to enable minification. + // Similar to `cb` for `_.iteratee`. + function toPath$1(path) { + return _.toPath(path); + } + + // Internal function to obtain a nested property in `obj` along `path`. + function deepGet(obj, path) { + var length = path.length; + for (var i = 0; i < length; i++) { + if (obj == null) return void 0; + obj = obj[path[i]]; + } + return length ? obj : void 0; + } + + // Get the value of the (deep) property on `path` from `object`. + // If any property in `path` does not exist or if the value is + // `undefined`, return `defaultValue` instead. + // The `path` is normalized through `_.toPath`. + function get(object, path, defaultValue) { + var value = deepGet(object, toPath$1(path)); + return isUndefined(value) ? defaultValue : value; + } + + // Shortcut function for checking if an object has a given property directly on + // itself (in other words, not on a prototype). Unlike the internal `has` + // function, this public version can also traverse nested properties. + function has$1(obj, path) { + path = toPath$1(path); + var length = path.length; + for (var i = 0; i < length; i++) { + var key = path[i]; + if (!has(obj, key)) return false; + obj = obj[key]; + } + return !!length; + } + + // Keep the identity function around for default iteratees. + function identity(value) { + return value; + } + + // Returns a predicate for checking whether an object has a given set of + // `key:value` pairs. + function matcher(attrs) { + attrs = extendOwn({}, attrs); + return function(obj) { + return isMatch(obj, attrs); + }; + } + + // Creates a function that, when passed an object, will traverse that object’s + // properties down the given `path`, specified as an array of keys or indices. + function property(path) { + path = toPath$1(path); + return function(obj) { + return deepGet(obj, path); + }; + } + + // Internal function that returns an efficient (for current engines) version + // of the passed-in callback, to be repeatedly applied in other Underscore + // functions. + function optimizeCb(func, context, argCount) { + if (context === void 0) return func; + switch (argCount == null ? 3 : argCount) { + case 1: return function(value) { + return func.call(context, value); + }; + // The 2-argument case is omitted because we’re not using it. + case 3: return function(value, index, collection) { + return func.call(context, value, index, collection); + }; + case 4: return function(accumulator, value, index, collection) { + return func.call(context, accumulator, value, index, collection); + }; + } + return function() { + return func.apply(context, arguments); + }; + } + + // An internal function to generate callbacks that can be applied to each + // element in a collection, returning the desired result — either `_.identity`, + // an arbitrary callback, a property matcher, or a property accessor. + function baseIteratee(value, context, argCount) { + if (value == null) return identity; + if (isFunction$1(value)) return optimizeCb(value, context, argCount); + if (isObject(value) && !isArray(value)) return matcher(value); + return property(value); + } + + // External wrapper for our callback generator. Users may customize + // `_.iteratee` if they want additional predicate/iteratee shorthand styles. + // This abstraction hides the internal-only `argCount` argument. + function iteratee(value, context) { + return baseIteratee(value, context, Infinity); + } + _.iteratee = iteratee; + + // The function we call internally to generate a callback. It invokes + // `_.iteratee` if overridden, otherwise `baseIteratee`. + function cb(value, context, argCount) { + if (_.iteratee !== iteratee) return _.iteratee(value, context); + return baseIteratee(value, context, argCount); + } + + // Returns the results of applying the `iteratee` to each element of `obj`. + // In contrast to `_.map` it returns an object. + function mapObject(obj, iteratee, context) { + iteratee = cb(iteratee, context); + var _keys = keys(obj), + length = _keys.length, + results = {}; + for (var index = 0; index < length; index++) { + var currentKey = _keys[index]; + results[currentKey] = iteratee(obj[currentKey], currentKey, obj); + } + return results; + } + + // Predicate-generating function. Often useful outside of Underscore. + function noop(){} + + // Generates a function for a given object that returns a given property. + function propertyOf(obj) { + if (obj == null) return noop; + return function(path) { + return get(obj, path); + }; + } + + // Run a function **n** times. + function times(n, iteratee, context) { + var accum = Array(Math.max(0, n)); + iteratee = optimizeCb(iteratee, context, 1); + for (var i = 0; i < n; i++) accum[i] = iteratee(i); + return accum; + } + + // Return a random integer between `min` and `max` (inclusive). + function random(min, max) { + if (max == null) { + max = min; + min = 0; + } + return min + Math.floor(Math.random() * (max - min + 1)); + } + + // A (possibly faster) way to get the current timestamp as an integer. + var now = Date.now || function() { + return new Date().getTime(); + }; + + // Internal helper to generate functions for escaping and unescaping strings + // to/from HTML interpolation. + function createEscaper(map) { + var escaper = function(match) { + return map[match]; + }; + // Regexes for identifying a key that needs to be escaped. + var source = '(?:' + keys(map).join('|') + ')'; + var testRegexp = RegExp(source); + var replaceRegexp = RegExp(source, 'g'); + return function(string) { + string = string == null ? '' : '' + string; + return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string; + }; + } + + // Internal list of HTML entities for escaping. + var escapeMap = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''', + '`': '`' + }; + + // Function for escaping strings to HTML interpolation. + var _escape = createEscaper(escapeMap); + + // Internal list of HTML entities for unescaping. + var unescapeMap = invert(escapeMap); + + // Function for unescaping strings from HTML interpolation. + var _unescape = createEscaper(unescapeMap); + + // By default, Underscore uses ERB-style template delimiters. Change the + // following template settings to use alternative delimiters. + var templateSettings = _.templateSettings = { + evaluate: /<%([\s\S]+?)%>/g, + interpolate: /<%=([\s\S]+?)%>/g, + escape: /<%-([\s\S]+?)%>/g + }; + + // When customizing `_.templateSettings`, if you don't want to define an + // interpolation, evaluation or escaping regex, we need one that is + // guaranteed not to match. + var noMatch = /(.)^/; + + // Certain characters need to be escaped so that they can be put into a + // string literal. + var escapes = { + "'": "'", + '\\': '\\', + '\r': 'r', + '\n': 'n', + '\u2028': 'u2028', + '\u2029': 'u2029' + }; + + var escapeRegExp = /\\|'|\r|\n|\u2028|\u2029/g; + + function escapeChar(match) { + return '\\' + escapes[match]; + } + + // JavaScript micro-templating, similar to John Resig's implementation. + // Underscore templating handles arbitrary delimiters, preserves whitespace, + // and correctly escapes quotes within interpolated code. + // NB: `oldSettings` only exists for backwards compatibility. + function template(text, settings, oldSettings) { + if (!settings && oldSettings) settings = oldSettings; + settings = defaults({}, settings, _.templateSettings); + + // Combine delimiters into one regular expression via alternation. + var matcher = RegExp([ + (settings.escape || noMatch).source, + (settings.interpolate || noMatch).source, + (settings.evaluate || noMatch).source + ].join('|') + '|$', 'g'); + + // Compile the template source, escaping string literals appropriately. + var index = 0; + var source = "__p+='"; + text.replace(matcher, function(match, escape, interpolate, evaluate, offset) { + source += text.slice(index, offset).replace(escapeRegExp, escapeChar); + index = offset + match.length; + + if (escape) { + source += "'+\n((__t=(" + escape + "))==null?'':_.escape(__t))+\n'"; + } else if (interpolate) { + source += "'+\n((__t=(" + interpolate + "))==null?'':__t)+\n'"; + } else if (evaluate) { + source += "';\n" + evaluate + "\n__p+='"; + } + + // Adobe VMs need the match returned to produce the correct offset. + return match; + }); + source += "';\n"; + + // If a variable is not specified, place data values in local scope. + if (!settings.variable) source = 'with(obj||{}){\n' + source + '}\n'; + + source = "var __t,__p='',__j=Array.prototype.join," + + "print=function(){__p+=__j.call(arguments,'');};\n" + + source + 'return __p;\n'; + + var render; + try { + render = new Function(settings.variable || 'obj', '_', source); + } catch (e) { + e.source = source; + throw e; + } + + var template = function(data) { + return render.call(this, data, _); + }; + + // Provide the compiled source as a convenience for precompilation. + var argument = settings.variable || 'obj'; + template.source = 'function(' + argument + '){\n' + source + '}'; + + return template; + } + + // Traverses the children of `obj` along `path`. If a child is a function, it + // is invoked with its parent as context. Returns the value of the final + // child, or `fallback` if any child is undefined. + function result(obj, path, fallback) { + path = toPath$1(path); + var length = path.length; + if (!length) { + return isFunction$1(fallback) ? fallback.call(obj) : fallback; + } + for (var i = 0; i < length; i++) { + var prop = obj == null ? void 0 : obj[path[i]]; + if (prop === void 0) { + prop = fallback; + i = length; // Ensure we don't continue iterating. + } + obj = isFunction$1(prop) ? prop.call(obj) : prop; + } + return obj; + } + + // Generate a unique integer id (unique within the entire client session). + // Useful for temporary DOM ids. + var idCounter = 0; + function uniqueId(prefix) { + var id = ++idCounter + ''; + return prefix ? prefix + id : id; + } + + // Start chaining a wrapped Underscore object. + function chain(obj) { + var instance = _(obj); + instance._chain = true; + return instance; + } + + // Internal function to execute `sourceFunc` bound to `context` with optional + // `args`. Determines whether to execute a function as a constructor or as a + // normal function. + function executeBound(sourceFunc, boundFunc, context, callingContext, args) { + if (!(callingContext instanceof boundFunc)) return sourceFunc.apply(context, args); + var self = baseCreate(sourceFunc.prototype); + var result = sourceFunc.apply(self, args); + if (isObject(result)) return result; + return self; + } + + // Partially apply a function by creating a version that has had some of its + // arguments pre-filled, without changing its dynamic `this` context. `_` acts + // as a placeholder by default, allowing any combination of arguments to be + // pre-filled. Set `_.partial.placeholder` for a custom placeholder argument. + var partial = restArguments(function(func, boundArgs) { + var placeholder = partial.placeholder; + var bound = function() { + var position = 0, length = boundArgs.length; + var args = Array(length); + for (var i = 0; i < length; i++) { + args[i] = boundArgs[i] === placeholder ? arguments[position++] : boundArgs[i]; + } + while (position < arguments.length) args.push(arguments[position++]); + return executeBound(func, bound, this, this, args); + }; + return bound; + }); + + partial.placeholder = _; + + // Create a function bound to a given object (assigning `this`, and arguments, + // optionally). + var bind = restArguments(function(func, context, args) { + if (!isFunction$1(func)) throw new TypeError('Bind must be called on a function'); + var bound = restArguments(function(callArgs) { + return executeBound(func, bound, context, this, args.concat(callArgs)); + }); + return bound; + }); + + // Internal helper for collection methods to determine whether a collection + // should be iterated as an array or as an object. + // Related: https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength + // Avoids a very nasty iOS 8 JIT bug on ARM-64. #2094 + var isArrayLike = createSizePropertyCheck(getLength); + + // Internal implementation of a recursive `flatten` function. + function flatten(input, depth, strict, output) { + output = output || []; + if (!depth && depth !== 0) { + depth = Infinity; + } else if (depth <= 0) { + return output.concat(input); + } + var idx = output.length; + for (var i = 0, length = getLength(input); i < length; i++) { + var value = input[i]; + if (isArrayLike(value) && (isArray(value) || isArguments$1(value))) { + // Flatten current level of array or arguments object. + if (depth > 1) { + flatten(value, depth - 1, strict, output); + idx = output.length; + } else { + var j = 0, len = value.length; + while (j < len) output[idx++] = value[j++]; + } + } else if (!strict) { + output[idx++] = value; + } + } + return output; + } + + // Bind a number of an object's methods to that object. Remaining arguments + // are the method names to be bound. Useful for ensuring that all callbacks + // defined on an object belong to it. + var bindAll = restArguments(function(obj, keys) { + keys = flatten(keys, false, false); + var index = keys.length; + if (index < 1) throw new Error('bindAll must be passed function names'); + while (index--) { + var key = keys[index]; + obj[key] = bind(obj[key], obj); + } + return obj; + }); + + // Memoize an expensive function by storing its results. + function memoize(func, hasher) { + var memoize = function(key) { + var cache = memoize.cache; + var address = '' + (hasher ? hasher.apply(this, arguments) : key); + if (!has(cache, address)) cache[address] = func.apply(this, arguments); + return cache[address]; + }; + memoize.cache = {}; + return memoize; + } + + // Delays a function for the given number of milliseconds, and then calls + // it with the arguments supplied. + var delay = restArguments(function(func, wait, args) { + return setTimeout(function() { + return func.apply(null, args); + }, wait); + }); + + // Defers a function, scheduling it to run after the current call stack has + // cleared. + var defer = partial(delay, _, 1); + + // Returns a function, that, when invoked, will only be triggered at most once + // during a given window of time. Normally, the throttled function will run + // as much as it can, without ever going more than once per `wait` duration; + // but if you'd like to disable the execution on the leading edge, pass + // `{leading: false}`. To disable execution on the trailing edge, ditto. + function throttle(func, wait, options) { + var timeout, context, args, result; + var previous = 0; + if (!options) options = {}; + + var later = function() { + previous = options.leading === false ? 0 : now(); + timeout = null; + result = func.apply(context, args); + if (!timeout) context = args = null; + }; + + var throttled = function() { + var _now = now(); + if (!previous && options.leading === false) previous = _now; + var remaining = wait - (_now - previous); + context = this; + args = arguments; + if (remaining <= 0 || remaining > wait) { + if (timeout) { + clearTimeout(timeout); + timeout = null; + } + previous = _now; + result = func.apply(context, args); + if (!timeout) context = args = null; + } else if (!timeout && options.trailing !== false) { + timeout = setTimeout(later, remaining); + } + return result; + }; + + throttled.cancel = function() { + clearTimeout(timeout); + previous = 0; + timeout = context = args = null; + }; + + return throttled; + } + + // When a sequence of calls of the returned function ends, the argument + // function is triggered. The end of a sequence is defined by the `wait` + // parameter. If `immediate` is passed, the argument function will be + // triggered at the beginning of the sequence instead of at the end. + function debounce(func, wait, immediate) { + var timeout, previous, args, result, context; + + var later = function() { + var passed = now() - previous; + if (wait > passed) { + timeout = setTimeout(later, wait - passed); + } else { + timeout = null; + if (!immediate) result = func.apply(context, args); + // This check is needed because `func` can recursively invoke `debounced`. + if (!timeout) args = context = null; + } + }; + + var debounced = restArguments(function(_args) { + context = this; + args = _args; + previous = now(); + if (!timeout) { + timeout = setTimeout(later, wait); + if (immediate) result = func.apply(context, args); + } + return result; + }); + + debounced.cancel = function() { + clearTimeout(timeout); + timeout = args = context = null; + }; + + return debounced; + } + + // Returns the first function passed as an argument to the second, + // allowing you to adjust arguments, run code before and after, and + // conditionally execute the original function. + function wrap(func, wrapper) { + return partial(wrapper, func); + } + + // Returns a negated version of the passed-in predicate. + function negate(predicate) { + return function() { + return !predicate.apply(this, arguments); + }; + } + + // Returns a function that is the composition of a list of functions, each + // consuming the return value of the function that follows. + function compose() { + var args = arguments; + var start = args.length - 1; + return function() { + var i = start; + var result = args[start].apply(this, arguments); + while (i--) result = args[i].call(this, result); + return result; + }; + } + + // Returns a function that will only be executed on and after the Nth call. + function after(times, func) { + return function() { + if (--times < 1) { + return func.apply(this, arguments); + } + }; + } + + // Returns a function that will only be executed up to (but not including) the + // Nth call. + function before(times, func) { + var memo; + return function() { + if (--times > 0) { + memo = func.apply(this, arguments); + } + if (times <= 1) func = null; + return memo; + }; + } + + // Returns a function that will be executed at most one time, no matter how + // often you call it. Useful for lazy initialization. + var once = partial(before, 2); + + // Returns the first key on an object that passes a truth test. + function findKey(obj, predicate, context) { + predicate = cb(predicate, context); + var _keys = keys(obj), key; + for (var i = 0, length = _keys.length; i < length; i++) { + key = _keys[i]; + if (predicate(obj[key], key, obj)) return key; + } + } + + // Internal function to generate `_.findIndex` and `_.findLastIndex`. + function createPredicateIndexFinder(dir) { + return function(array, predicate, context) { + predicate = cb(predicate, context); + var length = getLength(array); + var index = dir > 0 ? 0 : length - 1; + for (; index >= 0 && index < length; index += dir) { + if (predicate(array[index], index, array)) return index; + } + return -1; + }; + } + + // Returns the first index on an array-like that passes a truth test. + var findIndex = createPredicateIndexFinder(1); + + // Returns the last index on an array-like that passes a truth test. + var findLastIndex = createPredicateIndexFinder(-1); + + // Use a comparator function to figure out the smallest index at which + // an object should be inserted so as to maintain order. Uses binary search. + function sortedIndex(array, obj, iteratee, context) { + iteratee = cb(iteratee, context, 1); + var value = iteratee(obj); + var low = 0, high = getLength(array); + while (low < high) { + var mid = Math.floor((low + high) / 2); + if (iteratee(array[mid]) < value) low = mid + 1; else high = mid; + } + return low; + } + + // Internal function to generate the `_.indexOf` and `_.lastIndexOf` functions. + function createIndexFinder(dir, predicateFind, sortedIndex) { + return function(array, item, idx) { + var i = 0, length = getLength(array); + if (typeof idx == 'number') { + if (dir > 0) { + i = idx >= 0 ? idx : Math.max(idx + length, i); + } else { + length = idx >= 0 ? Math.min(idx + 1, length) : idx + length + 1; + } + } else if (sortedIndex && idx && length) { + idx = sortedIndex(array, item); + return array[idx] === item ? idx : -1; + } + if (item !== item) { + idx = predicateFind(slice.call(array, i, length), isNaN$1); + return idx >= 0 ? idx + i : -1; + } + for (idx = dir > 0 ? i : length - 1; idx >= 0 && idx < length; idx += dir) { + if (array[idx] === item) return idx; + } + return -1; + }; + } + + // Return the position of the first occurrence of an item in an array, + // or -1 if the item is not included in the array. + // If the array is large and already in sort order, pass `true` + // for **isSorted** to use binary search. + var indexOf = createIndexFinder(1, findIndex, sortedIndex); + + // Return the position of the last occurrence of an item in an array, + // or -1 if the item is not included in the array. + var lastIndexOf = createIndexFinder(-1, findLastIndex); + + // Return the first value which passes a truth test. + function find(obj, predicate, context) { + var keyFinder = isArrayLike(obj) ? findIndex : findKey; + var key = keyFinder(obj, predicate, context); + if (key !== void 0 && key !== -1) return obj[key]; + } + + // Convenience version of a common use case of `_.find`: getting the first + // object containing specific `key:value` pairs. + function findWhere(obj, attrs) { + return find(obj, matcher(attrs)); + } + + // The cornerstone for collection functions, an `each` + // implementation, aka `forEach`. + // Handles raw objects in addition to array-likes. Treats all + // sparse array-likes as if they were dense. + function each(obj, iteratee, context) { + iteratee = optimizeCb(iteratee, context); + var i, length; + if (isArrayLike(obj)) { + for (i = 0, length = obj.length; i < length; i++) { + iteratee(obj[i], i, obj); + } + } else { + var _keys = keys(obj); + for (i = 0, length = _keys.length; i < length; i++) { + iteratee(obj[_keys[i]], _keys[i], obj); + } + } + return obj; + } + + // Return the results of applying the iteratee to each element. + function map(obj, iteratee, context) { + iteratee = cb(iteratee, context); + var _keys = !isArrayLike(obj) && keys(obj), + length = (_keys || obj).length, + results = Array(length); + for (var index = 0; index < length; index++) { + var currentKey = _keys ? _keys[index] : index; + results[index] = iteratee(obj[currentKey], currentKey, obj); + } + return results; + } + + // Internal helper to create a reducing function, iterating left or right. + function createReduce(dir) { + // Wrap code that reassigns argument variables in a separate function than + // the one that accesses `arguments.length` to avoid a perf hit. (#1991) + var reducer = function(obj, iteratee, memo, initial) { + var _keys = !isArrayLike(obj) && keys(obj), + length = (_keys || obj).length, + index = dir > 0 ? 0 : length - 1; + if (!initial) { + memo = obj[_keys ? _keys[index] : index]; + index += dir; + } + for (; index >= 0 && index < length; index += dir) { + var currentKey = _keys ? _keys[index] : index; + memo = iteratee(memo, obj[currentKey], currentKey, obj); + } + return memo; + }; + + return function(obj, iteratee, memo, context) { + var initial = arguments.length >= 3; + return reducer(obj, optimizeCb(iteratee, context, 4), memo, initial); + }; + } + + // **Reduce** builds up a single result from a list of values, aka `inject`, + // or `foldl`. + var reduce = createReduce(1); + + // The right-associative version of reduce, also known as `foldr`. + var reduceRight = createReduce(-1); + + // Return all the elements that pass a truth test. + function filter(obj, predicate, context) { + var results = []; + predicate = cb(predicate, context); + each(obj, function(value, index, list) { + if (predicate(value, index, list)) results.push(value); + }); + return results; + } + + // Return all the elements for which a truth test fails. + function reject(obj, predicate, context) { + return filter(obj, negate(cb(predicate)), context); + } + + // Determine whether all of the elements pass a truth test. + function every(obj, predicate, context) { + predicate = cb(predicate, context); + var _keys = !isArrayLike(obj) && keys(obj), + length = (_keys || obj).length; + for (var index = 0; index < length; index++) { + var currentKey = _keys ? _keys[index] : index; + if (!predicate(obj[currentKey], currentKey, obj)) return false; + } + return true; + } + + // Determine if at least one element in the object passes a truth test. + function some(obj, predicate, context) { + predicate = cb(predicate, context); + var _keys = !isArrayLike(obj) && keys(obj), + length = (_keys || obj).length; + for (var index = 0; index < length; index++) { + var currentKey = _keys ? _keys[index] : index; + if (predicate(obj[currentKey], currentKey, obj)) return true; + } + return false; + } + + // Determine if the array or object contains a given item (using `===`). + function contains(obj, item, fromIndex, guard) { + if (!isArrayLike(obj)) obj = values(obj); + if (typeof fromIndex != 'number' || guard) fromIndex = 0; + return indexOf(obj, item, fromIndex) >= 0; + } + + // Invoke a method (with arguments) on every item in a collection. + var invoke = restArguments(function(obj, path, args) { + var contextPath, func; + if (isFunction$1(path)) { + func = path; + } else { + path = toPath$1(path); + contextPath = path.slice(0, -1); + path = path[path.length - 1]; + } + return map(obj, function(context) { + var method = func; + if (!method) { + if (contextPath && contextPath.length) { + context = deepGet(context, contextPath); + } + if (context == null) return void 0; + method = context[path]; + } + return method == null ? method : method.apply(context, args); + }); + }); + + // Convenience version of a common use case of `_.map`: fetching a property. + function pluck(obj, key) { + return map(obj, property(key)); + } + + // Convenience version of a common use case of `_.filter`: selecting only + // objects containing specific `key:value` pairs. + function where(obj, attrs) { + return filter(obj, matcher(attrs)); + } + + // Return the maximum element (or element-based computation). + function max(obj, iteratee, context) { + var result = -Infinity, lastComputed = -Infinity, + value, computed; + if (iteratee == null || typeof iteratee == 'number' && typeof obj[0] != 'object' && obj != null) { + obj = isArrayLike(obj) ? obj : values(obj); + for (var i = 0, length = obj.length; i < length; i++) { + value = obj[i]; + if (value != null && value > result) { + result = value; + } + } + } else { + iteratee = cb(iteratee, context); + each(obj, function(v, index, list) { + computed = iteratee(v, index, list); + if (computed > lastComputed || computed === -Infinity && result === -Infinity) { + result = v; + lastComputed = computed; + } + }); + } + return result; + } + + // Return the minimum element (or element-based computation). + function min(obj, iteratee, context) { + var result = Infinity, lastComputed = Infinity, + value, computed; + if (iteratee == null || typeof iteratee == 'number' && typeof obj[0] != 'object' && obj != null) { + obj = isArrayLike(obj) ? obj : values(obj); + for (var i = 0, length = obj.length; i < length; i++) { + value = obj[i]; + if (value != null && value < result) { + result = value; + } + } + } else { + iteratee = cb(iteratee, context); + each(obj, function(v, index, list) { + computed = iteratee(v, index, list); + if (computed < lastComputed || computed === Infinity && result === Infinity) { + result = v; + lastComputed = computed; + } + }); + } + return result; + } + + // Sample **n** random values from a collection using the modern version of the + // [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher–Yates_shuffle). + // If **n** is not specified, returns a single random element. + // The internal `guard` argument allows it to work with `_.map`. + function sample(obj, n, guard) { + if (n == null || guard) { + if (!isArrayLike(obj)) obj = values(obj); + return obj[random(obj.length - 1)]; + } + var sample = isArrayLike(obj) ? clone(obj) : values(obj); + var length = getLength(sample); + n = Math.max(Math.min(n, length), 0); + var last = length - 1; + for (var index = 0; index < n; index++) { + var rand = random(index, last); + var temp = sample[index]; + sample[index] = sample[rand]; + sample[rand] = temp; + } + return sample.slice(0, n); + } + + // Shuffle a collection. + function shuffle(obj) { + return sample(obj, Infinity); + } + + // Sort the object's values by a criterion produced by an iteratee. + function sortBy(obj, iteratee, context) { + var index = 0; + iteratee = cb(iteratee, context); + return pluck(map(obj, function(value, key, list) { + return { + value: value, + index: index++, + criteria: iteratee(value, key, list) + }; + }).sort(function(left, right) { + var a = left.criteria; + var b = right.criteria; + if (a !== b) { + if (a > b || a === void 0) return 1; + if (a < b || b === void 0) return -1; + } + return left.index - right.index; + }), 'value'); + } + + // An internal function used for aggregate "group by" operations. + function group(behavior, partition) { + return function(obj, iteratee, context) { + var result = partition ? [[], []] : {}; + iteratee = cb(iteratee, context); + each(obj, function(value, index) { + var key = iteratee(value, index, obj); + behavior(result, value, key); + }); + return result; + }; + } + + // Groups the object's values by a criterion. Pass either a string attribute + // to group by, or a function that returns the criterion. + var groupBy = group(function(result, value, key) { + if (has(result, key)) result[key].push(value); else result[key] = [value]; + }); + + // Indexes the object's values by a criterion, similar to `_.groupBy`, but for + // when you know that your index values will be unique. + var indexBy = group(function(result, value, key) { + result[key] = value; + }); + + // Counts instances of an object that group by a certain criterion. Pass + // either a string attribute to count by, or a function that returns the + // criterion. + var countBy = group(function(result, value, key) { + if (has(result, key)) result[key]++; else result[key] = 1; + }); + + // Split a collection into two arrays: one whose elements all pass the given + // truth test, and one whose elements all do not pass the truth test. + var partition = group(function(result, value, pass) { + result[pass ? 0 : 1].push(value); + }, true); + + // Safely create a real, live array from anything iterable. + var reStrSymbol = /[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g; + function toArray(obj) { + if (!obj) return []; + if (isArray(obj)) return slice.call(obj); + if (isString(obj)) { + // Keep surrogate pair characters together. + return obj.match(reStrSymbol); + } + if (isArrayLike(obj)) return map(obj, identity); + return values(obj); + } + + // Return the number of elements in a collection. + function size(obj) { + if (obj == null) return 0; + return isArrayLike(obj) ? obj.length : keys(obj).length; + } + + // Internal `_.pick` helper function to determine whether `key` is an enumerable + // property name of `obj`. + function keyInObj(value, key, obj) { + return key in obj; + } + + // Return a copy of the object only containing the allowed properties. + var pick = restArguments(function(obj, keys) { + var result = {}, iteratee = keys[0]; + if (obj == null) return result; + if (isFunction$1(iteratee)) { + if (keys.length > 1) iteratee = optimizeCb(iteratee, keys[1]); + keys = allKeys(obj); + } else { + iteratee = keyInObj; + keys = flatten(keys, false, false); + obj = Object(obj); + } + for (var i = 0, length = keys.length; i < length; i++) { + var key = keys[i]; + var value = obj[key]; + if (iteratee(value, key, obj)) result[key] = value; + } + return result; + }); + + // Return a copy of the object without the disallowed properties. + var omit = restArguments(function(obj, keys) { + var iteratee = keys[0], context; + if (isFunction$1(iteratee)) { + iteratee = negate(iteratee); + if (keys.length > 1) context = keys[1]; + } else { + keys = map(flatten(keys, false, false), String); + iteratee = function(value, key) { + return !contains(keys, key); + }; + } + return pick(obj, iteratee, context); + }); + + // Returns everything but the last entry of the array. Especially useful on + // the arguments object. Passing **n** will return all the values in + // the array, excluding the last N. + function initial(array, n, guard) { + return slice.call(array, 0, Math.max(0, array.length - (n == null || guard ? 1 : n))); + } + + // Get the first element of an array. Passing **n** will return the first N + // values in the array. The **guard** check allows it to work with `_.map`. + function first(array, n, guard) { + if (array == null || array.length < 1) return n == null || guard ? void 0 : []; + if (n == null || guard) return array[0]; + return initial(array, array.length - n); + } + + // Returns everything but the first entry of the `array`. Especially useful on + // the `arguments` object. Passing an **n** will return the rest N values in the + // `array`. + function rest(array, n, guard) { + return slice.call(array, n == null || guard ? 1 : n); + } + + // Get the last element of an array. Passing **n** will return the last N + // values in the array. + function last(array, n, guard) { + if (array == null || array.length < 1) return n == null || guard ? void 0 : []; + if (n == null || guard) return array[array.length - 1]; + return rest(array, Math.max(0, array.length - n)); + } + + // Trim out all falsy values from an array. + function compact(array) { + return filter(array, Boolean); + } + + // Flatten out an array, either recursively (by default), or up to `depth`. + // Passing `true` or `false` as `depth` means `1` or `Infinity`, respectively. + function flatten$1(array, depth) { + return flatten(array, depth, false); + } + + // Take the difference between one array and a number of other arrays. + // Only the elements present in just the first array will remain. + var difference = restArguments(function(array, rest) { + rest = flatten(rest, true, true); + return filter(array, function(value){ + return !contains(rest, value); + }); + }); + + // Return a version of the array that does not contain the specified value(s). + var without = restArguments(function(array, otherArrays) { + return difference(array, otherArrays); + }); + + // Produce a duplicate-free version of the array. If the array has already + // been sorted, you have the option of using a faster algorithm. + // The faster algorithm will not work with an iteratee if the iteratee + // is not a one-to-one function, so providing an iteratee will disable + // the faster algorithm. + function uniq(array, isSorted, iteratee, context) { + if (!isBoolean(isSorted)) { + context = iteratee; + iteratee = isSorted; + isSorted = false; + } + if (iteratee != null) iteratee = cb(iteratee, context); + var result = []; + var seen = []; + for (var i = 0, length = getLength(array); i < length; i++) { + var value = array[i], + computed = iteratee ? iteratee(value, i, array) : value; + if (isSorted && !iteratee) { + if (!i || seen !== computed) result.push(value); + seen = computed; + } else if (iteratee) { + if (!contains(seen, computed)) { + seen.push(computed); + result.push(value); + } + } else if (!contains(result, value)) { + result.push(value); + } + } + return result; + } + + // Produce an array that contains the union: each distinct element from all of + // the passed-in arrays. + var union = restArguments(function(arrays) { + return uniq(flatten(arrays, true, true)); + }); + + // Produce an array that contains every item shared between all the + // passed-in arrays. + function intersection(array) { + var result = []; + var argsLength = arguments.length; + for (var i = 0, length = getLength(array); i < length; i++) { + var item = array[i]; + if (contains(result, item)) continue; + var j; + for (j = 1; j < argsLength; j++) { + if (!contains(arguments[j], item)) break; + } + if (j === argsLength) result.push(item); + } + return result; + } + + // Complement of zip. Unzip accepts an array of arrays and groups + // each array's elements on shared indices. + function unzip(array) { + var length = array && max(array, getLength).length || 0; + var result = Array(length); + + for (var index = 0; index < length; index++) { + result[index] = pluck(array, index); + } + return result; + } + + // Zip together multiple lists into a single array -- elements that share + // an index go together. + var zip = restArguments(unzip); + + // Converts lists into objects. Pass either a single array of `[key, value]` + // pairs, or two parallel arrays of the same length -- one of keys, and one of + // the corresponding values. Passing by pairs is the reverse of `_.pairs`. + function object(list, values) { + var result = {}; + for (var i = 0, length = getLength(list); i < length; i++) { + if (values) { + result[list[i]] = values[i]; + } else { + result[list[i][0]] = list[i][1]; + } + } + return result; + } + + // Generate an integer Array containing an arithmetic progression. A port of + // the native Python `range()` function. See + // [the Python documentation](https://docs.python.org/library/functions.html#range). + function range(start, stop, step) { + if (stop == null) { + stop = start || 0; + start = 0; + } + if (!step) { + step = stop < start ? -1 : 1; + } + + var length = Math.max(Math.ceil((stop - start) / step), 0); + var range = Array(length); + + for (var idx = 0; idx < length; idx++, start += step) { + range[idx] = start; + } + + return range; + } + + // Chunk a single array into multiple arrays, each containing `count` or fewer + // items. + function chunk(array, count) { + if (count == null || count < 1) return []; + var result = []; + var i = 0, length = array.length; + while (i < length) { + result.push(slice.call(array, i, i += count)); + } + return result; + } + + // Helper function to continue chaining intermediate results. + function chainResult(instance, obj) { + return instance._chain ? _(obj).chain() : obj; + } + + // Add your own custom functions to the Underscore object. + function mixin(obj) { + each(functions(obj), function(name) { + var func = _[name] = obj[name]; + _.prototype[name] = function() { + var args = [this._wrapped]; + push.apply(args, arguments); + return chainResult(this, func.apply(_, args)); + }; + }); + return _; + } + + // Add all mutator `Array` functions to the wrapper. + each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) { + var method = ArrayProto[name]; + _.prototype[name] = function() { + var obj = this._wrapped; + if (obj != null) { + method.apply(obj, arguments); + if ((name === 'shift' || name === 'splice') && obj.length === 0) { + delete obj[0]; + } + } + return chainResult(this, obj); + }; + }); + + // Add all accessor `Array` functions to the wrapper. + each(['concat', 'join', 'slice'], function(name) { + var method = ArrayProto[name]; + _.prototype[name] = function() { + var obj = this._wrapped; + if (obj != null) obj = method.apply(obj, arguments); + return chainResult(this, obj); + }; + }); + + // Named Exports + + var allExports = { + __proto__: null, + VERSION: VERSION, + restArguments: restArguments, + isObject: isObject, + isNull: isNull, + isUndefined: isUndefined, + isBoolean: isBoolean, + isElement: isElement, + isString: isString, + isNumber: isNumber, + isDate: isDate, + isRegExp: isRegExp, + isError: isError, + isSymbol: isSymbol, + isArrayBuffer: isArrayBuffer, + isDataView: isDataView$1, + isArray: isArray, + isFunction: isFunction$1, + isArguments: isArguments$1, + isFinite: isFinite$1, + isNaN: isNaN$1, + isTypedArray: isTypedArray$1, + isEmpty: isEmpty, + isMatch: isMatch, + isEqual: isEqual, + isMap: isMap, + isWeakMap: isWeakMap, + isSet: isSet, + isWeakSet: isWeakSet, + keys: keys, + allKeys: allKeys, + values: values, + pairs: pairs, + invert: invert, + functions: functions, + methods: functions, + extend: extend, + extendOwn: extendOwn, + assign: extendOwn, + defaults: defaults, + create: create, + clone: clone, + tap: tap, + get: get, + has: has$1, + mapObject: mapObject, + identity: identity, + constant: constant, + noop: noop, + toPath: toPath, + property: property, + propertyOf: propertyOf, + matcher: matcher, + matches: matcher, + times: times, + random: random, + now: now, + escape: _escape, + unescape: _unescape, + templateSettings: templateSettings, + template: template, + result: result, + uniqueId: uniqueId, + chain: chain, + iteratee: iteratee, + partial: partial, + bind: bind, + bindAll: bindAll, + memoize: memoize, + delay: delay, + defer: defer, + throttle: throttle, + debounce: debounce, + wrap: wrap, + negate: negate, + compose: compose, + after: after, + before: before, + once: once, + findKey: findKey, + findIndex: findIndex, + findLastIndex: findLastIndex, + sortedIndex: sortedIndex, + indexOf: indexOf, + lastIndexOf: lastIndexOf, + find: find, + detect: find, + findWhere: findWhere, + each: each, + forEach: each, + map: map, + collect: map, + reduce: reduce, + foldl: reduce, + inject: reduce, + reduceRight: reduceRight, + foldr: reduceRight, + filter: filter, + select: filter, + reject: reject, + every: every, + all: every, + some: some, + any: some, + contains: contains, + includes: contains, + include: contains, + invoke: invoke, + pluck: pluck, + where: where, + max: max, + min: min, + shuffle: shuffle, + sample: sample, + sortBy: sortBy, + groupBy: groupBy, + indexBy: indexBy, + countBy: countBy, + partition: partition, + toArray: toArray, + size: size, + pick: pick, + omit: omit, + first: first, + head: first, + take: first, + initial: initial, + last: last, + rest: rest, + tail: rest, + drop: rest, + compact: compact, + flatten: flatten$1, + without: without, + uniq: uniq, + unique: uniq, + union: union, + intersection: intersection, + difference: difference, + unzip: unzip, + transpose: unzip, + zip: zip, + object: object, + range: range, + chunk: chunk, + mixin: mixin, + 'default': _ + }; + + // Default Export + + // Add all of the Underscore functions to the wrapper object. + var _$1 = mixin(allExports); + // Legacy Node.js API. + _$1._ = _$1; + + return _$1; + +}))); +//# sourceMappingURL=underscore.js.map diff --git a/docs/_build/html/_static/underscore-1.3.1.js b/docs/_build/html/_static/underscore-1.3.1.js deleted file mode 100644 index 208d4cd8..00000000 --- a/docs/_build/html/_static/underscore-1.3.1.js +++ /dev/null @@ -1,999 +0,0 @@ -// Underscore.js 1.3.1 -// (c) 2009-2012 Jeremy Ashkenas, DocumentCloud Inc. -// Underscore is freely distributable under the MIT license. -// Portions of Underscore are inspired or borrowed from Prototype, -// Oliver Steele's Functional, and John Resig's Micro-Templating. -// For all details and documentation: -// http://documentcloud.github.com/underscore - -(function() { - - // Baseline setup - // -------------- - - // Establish the root object, `window` in the browser, or `global` on the server. - var root = this; - - // Save the previous value of the `_` variable. - var previousUnderscore = root._; - - // Establish the object that gets returned to break out of a loop iteration. - var breaker = {}; - - // Save bytes in the minified (but not gzipped) version: - var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = Function.prototype; - - // Create quick reference variables for speed access to core prototypes. - var slice = ArrayProto.slice, - unshift = ArrayProto.unshift, - toString = ObjProto.toString, - hasOwnProperty = ObjProto.hasOwnProperty; - - // All **ECMAScript 5** native function implementations that we hope to use - // are declared here. - var - nativeForEach = ArrayProto.forEach, - nativeMap = ArrayProto.map, - nativeReduce = ArrayProto.reduce, - nativeReduceRight = ArrayProto.reduceRight, - nativeFilter = ArrayProto.filter, - nativeEvery = ArrayProto.every, - nativeSome = ArrayProto.some, - nativeIndexOf = ArrayProto.indexOf, - nativeLastIndexOf = ArrayProto.lastIndexOf, - nativeIsArray = Array.isArray, - nativeKeys = Object.keys, - nativeBind = FuncProto.bind; - - // Create a safe reference to the Underscore object for use below. - var _ = function(obj) { return new wrapper(obj); }; - - // Export the Underscore object for **Node.js**, with - // backwards-compatibility for the old `require()` API. If we're in - // the browser, add `_` as a global object via a string identifier, - // for Closure Compiler "advanced" mode. - if (typeof exports !== 'undefined') { - if (typeof module !== 'undefined' && module.exports) { - exports = module.exports = _; - } - exports._ = _; - } else { - root['_'] = _; - } - - // Current version. - _.VERSION = '1.3.1'; - - // Collection Functions - // -------------------- - - // The cornerstone, an `each` implementation, aka `forEach`. - // Handles objects with the built-in `forEach`, arrays, and raw objects. - // Delegates to **ECMAScript 5**'s native `forEach` if available. - var each = _.each = _.forEach = function(obj, iterator, context) { - if (obj == null) return; - if (nativeForEach && obj.forEach === nativeForEach) { - obj.forEach(iterator, context); - } else if (obj.length === +obj.length) { - for (var i = 0, l = obj.length; i < l; i++) { - if (i in obj && iterator.call(context, obj[i], i, obj) === breaker) return; - } - } else { - for (var key in obj) { - if (_.has(obj, key)) { - if (iterator.call(context, obj[key], key, obj) === breaker) return; - } - } - } - }; - - // Return the results of applying the iterator to each element. - // Delegates to **ECMAScript 5**'s native `map` if available. - _.map = _.collect = function(obj, iterator, context) { - var results = []; - if (obj == null) return results; - if (nativeMap && obj.map === nativeMap) return obj.map(iterator, context); - each(obj, function(value, index, list) { - results[results.length] = iterator.call(context, value, index, list); - }); - if (obj.length === +obj.length) results.length = obj.length; - return results; - }; - - // **Reduce** builds up a single result from a list of values, aka `inject`, - // or `foldl`. Delegates to **ECMAScript 5**'s native `reduce` if available. - _.reduce = _.foldl = _.inject = function(obj, iterator, memo, context) { - var initial = arguments.length > 2; - if (obj == null) obj = []; - if (nativeReduce && obj.reduce === nativeReduce) { - if (context) iterator = _.bind(iterator, context); - return initial ? obj.reduce(iterator, memo) : obj.reduce(iterator); - } - each(obj, function(value, index, list) { - if (!initial) { - memo = value; - initial = true; - } else { - memo = iterator.call(context, memo, value, index, list); - } - }); - if (!initial) throw new TypeError('Reduce of empty array with no initial value'); - return memo; - }; - - // The right-associative version of reduce, also known as `foldr`. - // Delegates to **ECMAScript 5**'s native `reduceRight` if available. - _.reduceRight = _.foldr = function(obj, iterator, memo, context) { - var initial = arguments.length > 2; - if (obj == null) obj = []; - if (nativeReduceRight && obj.reduceRight === nativeReduceRight) { - if (context) iterator = _.bind(iterator, context); - return initial ? obj.reduceRight(iterator, memo) : obj.reduceRight(iterator); - } - var reversed = _.toArray(obj).reverse(); - if (context && !initial) iterator = _.bind(iterator, context); - return initial ? _.reduce(reversed, iterator, memo, context) : _.reduce(reversed, iterator); - }; - - // Return the first value which passes a truth test. Aliased as `detect`. - _.find = _.detect = function(obj, iterator, context) { - var result; - any(obj, function(value, index, list) { - if (iterator.call(context, value, index, list)) { - result = value; - return true; - } - }); - return result; - }; - - // Return all the elements that pass a truth test. - // Delegates to **ECMAScript 5**'s native `filter` if available. - // Aliased as `select`. - _.filter = _.select = function(obj, iterator, context) { - var results = []; - if (obj == null) return results; - if (nativeFilter && obj.filter === nativeFilter) return obj.filter(iterator, context); - each(obj, function(value, index, list) { - if (iterator.call(context, value, index, list)) results[results.length] = value; - }); - return results; - }; - - // Return all the elements for which a truth test fails. - _.reject = function(obj, iterator, context) { - var results = []; - if (obj == null) return results; - each(obj, function(value, index, list) { - if (!iterator.call(context, value, index, list)) results[results.length] = value; - }); - return results; - }; - - // Determine whether all of the elements match a truth test. - // Delegates to **ECMAScript 5**'s native `every` if available. - // Aliased as `all`. - _.every = _.all = function(obj, iterator, context) { - var result = true; - if (obj == null) return result; - if (nativeEvery && obj.every === nativeEvery) return obj.every(iterator, context); - each(obj, function(value, index, list) { - if (!(result = result && iterator.call(context, value, index, list))) return breaker; - }); - return result; - }; - - // Determine if at least one element in the object matches a truth test. - // Delegates to **ECMAScript 5**'s native `some` if available. - // Aliased as `any`. - var any = _.some = _.any = function(obj, iterator, context) { - iterator || (iterator = _.identity); - var result = false; - if (obj == null) return result; - if (nativeSome && obj.some === nativeSome) return obj.some(iterator, context); - each(obj, function(value, index, list) { - if (result || (result = iterator.call(context, value, index, list))) return breaker; - }); - return !!result; - }; - - // Determine if a given value is included in the array or object using `===`. - // Aliased as `contains`. - _.include = _.contains = function(obj, target) { - var found = false; - if (obj == null) return found; - if (nativeIndexOf && obj.indexOf === nativeIndexOf) return obj.indexOf(target) != -1; - found = any(obj, function(value) { - return value === target; - }); - return found; - }; - - // Invoke a method (with arguments) on every item in a collection. - _.invoke = function(obj, method) { - var args = slice.call(arguments, 2); - return _.map(obj, function(value) { - return (_.isFunction(method) ? method || value : value[method]).apply(value, args); - }); - }; - - // Convenience version of a common use case of `map`: fetching a property. - _.pluck = function(obj, key) { - return _.map(obj, function(value){ return value[key]; }); - }; - - // Return the maximum element or (element-based computation). - _.max = function(obj, iterator, context) { - if (!iterator && _.isArray(obj)) return Math.max.apply(Math, obj); - if (!iterator && _.isEmpty(obj)) return -Infinity; - var result = {computed : -Infinity}; - each(obj, function(value, index, list) { - var computed = iterator ? iterator.call(context, value, index, list) : value; - computed >= result.computed && (result = {value : value, computed : computed}); - }); - return result.value; - }; - - // Return the minimum element (or element-based computation). - _.min = function(obj, iterator, context) { - if (!iterator && _.isArray(obj)) return Math.min.apply(Math, obj); - if (!iterator && _.isEmpty(obj)) return Infinity; - var result = {computed : Infinity}; - each(obj, function(value, index, list) { - var computed = iterator ? iterator.call(context, value, index, list) : value; - computed < result.computed && (result = {value : value, computed : computed}); - }); - return result.value; - }; - - // Shuffle an array. - _.shuffle = function(obj) { - var shuffled = [], rand; - each(obj, function(value, index, list) { - if (index == 0) { - shuffled[0] = value; - } else { - rand = Math.floor(Math.random() * (index + 1)); - shuffled[index] = shuffled[rand]; - shuffled[rand] = value; - } - }); - return shuffled; - }; - - // Sort the object's values by a criterion produced by an iterator. - _.sortBy = function(obj, iterator, context) { - return _.pluck(_.map(obj, function(value, index, list) { - return { - value : value, - criteria : iterator.call(context, value, index, list) - }; - }).sort(function(left, right) { - var a = left.criteria, b = right.criteria; - return a < b ? -1 : a > b ? 1 : 0; - }), 'value'); - }; - - // Groups the object's values by a criterion. Pass either a string attribute - // to group by, or a function that returns the criterion. - _.groupBy = function(obj, val) { - var result = {}; - var iterator = _.isFunction(val) ? val : function(obj) { return obj[val]; }; - each(obj, function(value, index) { - var key = iterator(value, index); - (result[key] || (result[key] = [])).push(value); - }); - return result; - }; - - // Use a comparator function to figure out at what index an object should - // be inserted so as to maintain order. Uses binary search. - _.sortedIndex = function(array, obj, iterator) { - iterator || (iterator = _.identity); - var low = 0, high = array.length; - while (low < high) { - var mid = (low + high) >> 1; - iterator(array[mid]) < iterator(obj) ? low = mid + 1 : high = mid; - } - return low; - }; - - // Safely convert anything iterable into a real, live array. - _.toArray = function(iterable) { - if (!iterable) return []; - if (iterable.toArray) return iterable.toArray(); - if (_.isArray(iterable)) return slice.call(iterable); - if (_.isArguments(iterable)) return slice.call(iterable); - return _.values(iterable); - }; - - // Return the number of elements in an object. - _.size = function(obj) { - return _.toArray(obj).length; - }; - - // Array Functions - // --------------- - - // Get the first element of an array. Passing **n** will return the first N - // values in the array. Aliased as `head`. The **guard** check allows it to work - // with `_.map`. - _.first = _.head = function(array, n, guard) { - return (n != null) && !guard ? slice.call(array, 0, n) : array[0]; - }; - - // Returns everything but the last entry of the array. Especcialy useful on - // the arguments object. Passing **n** will return all the values in - // the array, excluding the last N. The **guard** check allows it to work with - // `_.map`. - _.initial = function(array, n, guard) { - return slice.call(array, 0, array.length - ((n == null) || guard ? 1 : n)); - }; - - // Get the last element of an array. Passing **n** will return the last N - // values in the array. The **guard** check allows it to work with `_.map`. - _.last = function(array, n, guard) { - if ((n != null) && !guard) { - return slice.call(array, Math.max(array.length - n, 0)); - } else { - return array[array.length - 1]; - } - }; - - // Returns everything but the first entry of the array. Aliased as `tail`. - // Especially useful on the arguments object. Passing an **index** will return - // the rest of the values in the array from that index onward. The **guard** - // check allows it to work with `_.map`. - _.rest = _.tail = function(array, index, guard) { - return slice.call(array, (index == null) || guard ? 1 : index); - }; - - // Trim out all falsy values from an array. - _.compact = function(array) { - return _.filter(array, function(value){ return !!value; }); - }; - - // Return a completely flattened version of an array. - _.flatten = function(array, shallow) { - return _.reduce(array, function(memo, value) { - if (_.isArray(value)) return memo.concat(shallow ? value : _.flatten(value)); - memo[memo.length] = value; - return memo; - }, []); - }; - - // Return a version of the array that does not contain the specified value(s). - _.without = function(array) { - return _.difference(array, slice.call(arguments, 1)); - }; - - // Produce a duplicate-free version of the array. If the array has already - // been sorted, you have the option of using a faster algorithm. - // Aliased as `unique`. - _.uniq = _.unique = function(array, isSorted, iterator) { - var initial = iterator ? _.map(array, iterator) : array; - var result = []; - _.reduce(initial, function(memo, el, i) { - if (0 == i || (isSorted === true ? _.last(memo) != el : !_.include(memo, el))) { - memo[memo.length] = el; - result[result.length] = array[i]; - } - return memo; - }, []); - return result; - }; - - // Produce an array that contains the union: each distinct element from all of - // the passed-in arrays. - _.union = function() { - return _.uniq(_.flatten(arguments, true)); - }; - - // Produce an array that contains every item shared between all the - // passed-in arrays. (Aliased as "intersect" for back-compat.) - _.intersection = _.intersect = function(array) { - var rest = slice.call(arguments, 1); - return _.filter(_.uniq(array), function(item) { - return _.every(rest, function(other) { - return _.indexOf(other, item) >= 0; - }); - }); - }; - - // Take the difference between one array and a number of other arrays. - // Only the elements present in just the first array will remain. - _.difference = function(array) { - var rest = _.flatten(slice.call(arguments, 1)); - return _.filter(array, function(value){ return !_.include(rest, value); }); - }; - - // Zip together multiple lists into a single array -- elements that share - // an index go together. - _.zip = function() { - var args = slice.call(arguments); - var length = _.max(_.pluck(args, 'length')); - var results = new Array(length); - for (var i = 0; i < length; i++) results[i] = _.pluck(args, "" + i); - return results; - }; - - // If the browser doesn't supply us with indexOf (I'm looking at you, **MSIE**), - // we need this function. Return the position of the first occurrence of an - // item in an array, or -1 if the item is not included in the array. - // Delegates to **ECMAScript 5**'s native `indexOf` if available. - // If the array is large and already in sort order, pass `true` - // for **isSorted** to use binary search. - _.indexOf = function(array, item, isSorted) { - if (array == null) return -1; - var i, l; - if (isSorted) { - i = _.sortedIndex(array, item); - return array[i] === item ? i : -1; - } - if (nativeIndexOf && array.indexOf === nativeIndexOf) return array.indexOf(item); - for (i = 0, l = array.length; i < l; i++) if (i in array && array[i] === item) return i; - return -1; - }; - - // Delegates to **ECMAScript 5**'s native `lastIndexOf` if available. - _.lastIndexOf = function(array, item) { - if (array == null) return -1; - if (nativeLastIndexOf && array.lastIndexOf === nativeLastIndexOf) return array.lastIndexOf(item); - var i = array.length; - while (i--) if (i in array && array[i] === item) return i; - return -1; - }; - - // Generate an integer Array containing an arithmetic progression. A port of - // the native Python `range()` function. See - // [the Python documentation](http://docs.python.org/library/functions.html#range). - _.range = function(start, stop, step) { - if (arguments.length <= 1) { - stop = start || 0; - start = 0; - } - step = arguments[2] || 1; - - var len = Math.max(Math.ceil((stop - start) / step), 0); - var idx = 0; - var range = new Array(len); - - while(idx < len) { - range[idx++] = start; - start += step; - } - - return range; - }; - - // Function (ahem) Functions - // ------------------ - - // Reusable constructor function for prototype setting. - var ctor = function(){}; - - // Create a function bound to a given object (assigning `this`, and arguments, - // optionally). Binding with arguments is also known as `curry`. - // Delegates to **ECMAScript 5**'s native `Function.bind` if available. - // We check for `func.bind` first, to fail fast when `func` is undefined. - _.bind = function bind(func, context) { - var bound, args; - if (func.bind === nativeBind && nativeBind) return nativeBind.apply(func, slice.call(arguments, 1)); - if (!_.isFunction(func)) throw new TypeError; - args = slice.call(arguments, 2); - return bound = function() { - if (!(this instanceof bound)) return func.apply(context, args.concat(slice.call(arguments))); - ctor.prototype = func.prototype; - var self = new ctor; - var result = func.apply(self, args.concat(slice.call(arguments))); - if (Object(result) === result) return result; - return self; - }; - }; - - // Bind all of an object's methods to that object. Useful for ensuring that - // all callbacks defined on an object belong to it. - _.bindAll = function(obj) { - var funcs = slice.call(arguments, 1); - if (funcs.length == 0) funcs = _.functions(obj); - each(funcs, function(f) { obj[f] = _.bind(obj[f], obj); }); - return obj; - }; - - // Memoize an expensive function by storing its results. - _.memoize = function(func, hasher) { - var memo = {}; - hasher || (hasher = _.identity); - return function() { - var key = hasher.apply(this, arguments); - return _.has(memo, key) ? memo[key] : (memo[key] = func.apply(this, arguments)); - }; - }; - - // Delays a function for the given number of milliseconds, and then calls - // it with the arguments supplied. - _.delay = function(func, wait) { - var args = slice.call(arguments, 2); - return setTimeout(function(){ return func.apply(func, args); }, wait); - }; - - // Defers a function, scheduling it to run after the current call stack has - // cleared. - _.defer = function(func) { - return _.delay.apply(_, [func, 1].concat(slice.call(arguments, 1))); - }; - - // Returns a function, that, when invoked, will only be triggered at most once - // during a given window of time. - _.throttle = function(func, wait) { - var context, args, timeout, throttling, more; - var whenDone = _.debounce(function(){ more = throttling = false; }, wait); - return function() { - context = this; args = arguments; - var later = function() { - timeout = null; - if (more) func.apply(context, args); - whenDone(); - }; - if (!timeout) timeout = setTimeout(later, wait); - if (throttling) { - more = true; - } else { - func.apply(context, args); - } - whenDone(); - throttling = true; - }; - }; - - // Returns a function, that, as long as it continues to be invoked, will not - // be triggered. The function will be called after it stops being called for - // N milliseconds. - _.debounce = function(func, wait) { - var timeout; - return function() { - var context = this, args = arguments; - var later = function() { - timeout = null; - func.apply(context, args); - }; - clearTimeout(timeout); - timeout = setTimeout(later, wait); - }; - }; - - // Returns a function that will be executed at most one time, no matter how - // often you call it. Useful for lazy initialization. - _.once = function(func) { - var ran = false, memo; - return function() { - if (ran) return memo; - ran = true; - return memo = func.apply(this, arguments); - }; - }; - - // Returns the first function passed as an argument to the second, - // allowing you to adjust arguments, run code before and after, and - // conditionally execute the original function. - _.wrap = function(func, wrapper) { - return function() { - var args = [func].concat(slice.call(arguments, 0)); - return wrapper.apply(this, args); - }; - }; - - // Returns a function that is the composition of a list of functions, each - // consuming the return value of the function that follows. - _.compose = function() { - var funcs = arguments; - return function() { - var args = arguments; - for (var i = funcs.length - 1; i >= 0; i--) { - args = [funcs[i].apply(this, args)]; - } - return args[0]; - }; - }; - - // Returns a function that will only be executed after being called N times. - _.after = function(times, func) { - if (times <= 0) return func(); - return function() { - if (--times < 1) { return func.apply(this, arguments); } - }; - }; - - // Object Functions - // ---------------- - - // Retrieve the names of an object's properties. - // Delegates to **ECMAScript 5**'s native `Object.keys` - _.keys = nativeKeys || function(obj) { - if (obj !== Object(obj)) throw new TypeError('Invalid object'); - var keys = []; - for (var key in obj) if (_.has(obj, key)) keys[keys.length] = key; - return keys; - }; - - // Retrieve the values of an object's properties. - _.values = function(obj) { - return _.map(obj, _.identity); - }; - - // Return a sorted list of the function names available on the object. - // Aliased as `methods` - _.functions = _.methods = function(obj) { - var names = []; - for (var key in obj) { - if (_.isFunction(obj[key])) names.push(key); - } - return names.sort(); - }; - - // Extend a given object with all the properties in passed-in object(s). - _.extend = function(obj) { - each(slice.call(arguments, 1), function(source) { - for (var prop in source) { - obj[prop] = source[prop]; - } - }); - return obj; - }; - - // Fill in a given object with default properties. - _.defaults = function(obj) { - each(slice.call(arguments, 1), function(source) { - for (var prop in source) { - if (obj[prop] == null) obj[prop] = source[prop]; - } - }); - return obj; - }; - - // Create a (shallow-cloned) duplicate of an object. - _.clone = function(obj) { - if (!_.isObject(obj)) return obj; - return _.isArray(obj) ? obj.slice() : _.extend({}, obj); - }; - - // Invokes interceptor with the obj, and then returns obj. - // The primary purpose of this method is to "tap into" a method chain, in - // order to perform operations on intermediate results within the chain. - _.tap = function(obj, interceptor) { - interceptor(obj); - return obj; - }; - - // Internal recursive comparison function. - function eq(a, b, stack) { - // Identical objects are equal. `0 === -0`, but they aren't identical. - // See the Harmony `egal` proposal: http://wiki.ecmascript.org/doku.php?id=harmony:egal. - if (a === b) return a !== 0 || 1 / a == 1 / b; - // A strict comparison is necessary because `null == undefined`. - if (a == null || b == null) return a === b; - // Unwrap any wrapped objects. - if (a._chain) a = a._wrapped; - if (b._chain) b = b._wrapped; - // Invoke a custom `isEqual` method if one is provided. - if (a.isEqual && _.isFunction(a.isEqual)) return a.isEqual(b); - if (b.isEqual && _.isFunction(b.isEqual)) return b.isEqual(a); - // Compare `[[Class]]` names. - var className = toString.call(a); - if (className != toString.call(b)) return false; - switch (className) { - // Strings, numbers, dates, and booleans are compared by value. - case '[object String]': - // Primitives and their corresponding object wrappers are equivalent; thus, `"5"` is - // equivalent to `new String("5")`. - return a == String(b); - case '[object Number]': - // `NaN`s are equivalent, but non-reflexive. An `egal` comparison is performed for - // other numeric values. - return a != +a ? b != +b : (a == 0 ? 1 / a == 1 / b : a == +b); - case '[object Date]': - case '[object Boolean]': - // Coerce dates and booleans to numeric primitive values. Dates are compared by their - // millisecond representations. Note that invalid dates with millisecond representations - // of `NaN` are not equivalent. - return +a == +b; - // RegExps are compared by their source patterns and flags. - case '[object RegExp]': - return a.source == b.source && - a.global == b.global && - a.multiline == b.multiline && - a.ignoreCase == b.ignoreCase; - } - if (typeof a != 'object' || typeof b != 'object') return false; - // Assume equality for cyclic structures. The algorithm for detecting cyclic - // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`. - var length = stack.length; - while (length--) { - // Linear search. Performance is inversely proportional to the number of - // unique nested structures. - if (stack[length] == a) return true; - } - // Add the first object to the stack of traversed objects. - stack.push(a); - var size = 0, result = true; - // Recursively compare objects and arrays. - if (className == '[object Array]') { - // Compare array lengths to determine if a deep comparison is necessary. - size = a.length; - result = size == b.length; - if (result) { - // Deep compare the contents, ignoring non-numeric properties. - while (size--) { - // Ensure commutative equality for sparse arrays. - if (!(result = size in a == size in b && eq(a[size], b[size], stack))) break; - } - } - } else { - // Objects with different constructors are not equivalent. - if ('constructor' in a != 'constructor' in b || a.constructor != b.constructor) return false; - // Deep compare objects. - for (var key in a) { - if (_.has(a, key)) { - // Count the expected number of properties. - size++; - // Deep compare each member. - if (!(result = _.has(b, key) && eq(a[key], b[key], stack))) break; - } - } - // Ensure that both objects contain the same number of properties. - if (result) { - for (key in b) { - if (_.has(b, key) && !(size--)) break; - } - result = !size; - } - } - // Remove the first object from the stack of traversed objects. - stack.pop(); - return result; - } - - // Perform a deep comparison to check if two objects are equal. - _.isEqual = function(a, b) { - return eq(a, b, []); - }; - - // Is a given array, string, or object empty? - // An "empty" object has no enumerable own-properties. - _.isEmpty = function(obj) { - if (_.isArray(obj) || _.isString(obj)) return obj.length === 0; - for (var key in obj) if (_.has(obj, key)) return false; - return true; - }; - - // Is a given value a DOM element? - _.isElement = function(obj) { - return !!(obj && obj.nodeType == 1); - }; - - // Is a given value an array? - // Delegates to ECMA5's native Array.isArray - _.isArray = nativeIsArray || function(obj) { - return toString.call(obj) == '[object Array]'; - }; - - // Is a given variable an object? - _.isObject = function(obj) { - return obj === Object(obj); - }; - - // Is a given variable an arguments object? - _.isArguments = function(obj) { - return toString.call(obj) == '[object Arguments]'; - }; - if (!_.isArguments(arguments)) { - _.isArguments = function(obj) { - return !!(obj && _.has(obj, 'callee')); - }; - } - - // Is a given value a function? - _.isFunction = function(obj) { - return toString.call(obj) == '[object Function]'; - }; - - // Is a given value a string? - _.isString = function(obj) { - return toString.call(obj) == '[object String]'; - }; - - // Is a given value a number? - _.isNumber = function(obj) { - return toString.call(obj) == '[object Number]'; - }; - - // Is the given value `NaN`? - _.isNaN = function(obj) { - // `NaN` is the only value for which `===` is not reflexive. - return obj !== obj; - }; - - // Is a given value a boolean? - _.isBoolean = function(obj) { - return obj === true || obj === false || toString.call(obj) == '[object Boolean]'; - }; - - // Is a given value a date? - _.isDate = function(obj) { - return toString.call(obj) == '[object Date]'; - }; - - // Is the given value a regular expression? - _.isRegExp = function(obj) { - return toString.call(obj) == '[object RegExp]'; - }; - - // Is a given value equal to null? - _.isNull = function(obj) { - return obj === null; - }; - - // Is a given variable undefined? - _.isUndefined = function(obj) { - return obj === void 0; - }; - - // Has own property? - _.has = function(obj, key) { - return hasOwnProperty.call(obj, key); - }; - - // Utility Functions - // ----------------- - - // Run Underscore.js in *noConflict* mode, returning the `_` variable to its - // previous owner. Returns a reference to the Underscore object. - _.noConflict = function() { - root._ = previousUnderscore; - return this; - }; - - // Keep the identity function around for default iterators. - _.identity = function(value) { - return value; - }; - - // Run a function **n** times. - _.times = function (n, iterator, context) { - for (var i = 0; i < n; i++) iterator.call(context, i); - }; - - // Escape a string for HTML interpolation. - _.escape = function(string) { - return (''+string).replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\//g,'/'); - }; - - // Add your own custom functions to the Underscore object, ensuring that - // they're correctly added to the OOP wrapper as well. - _.mixin = function(obj) { - each(_.functions(obj), function(name){ - addToWrapper(name, _[name] = obj[name]); - }); - }; - - // Generate a unique integer id (unique within the entire client session). - // Useful for temporary DOM ids. - var idCounter = 0; - _.uniqueId = function(prefix) { - var id = idCounter++; - return prefix ? prefix + id : id; - }; - - // By default, Underscore uses ERB-style template delimiters, change the - // following template settings to use alternative delimiters. - _.templateSettings = { - evaluate : /<%([\s\S]+?)%>/g, - interpolate : /<%=([\s\S]+?)%>/g, - escape : /<%-([\s\S]+?)%>/g - }; - - // When customizing `templateSettings`, if you don't want to define an - // interpolation, evaluation or escaping regex, we need one that is - // guaranteed not to match. - var noMatch = /.^/; - - // Within an interpolation, evaluation, or escaping, remove HTML escaping - // that had been previously added. - var unescape = function(code) { - return code.replace(/\\\\/g, '\\').replace(/\\'/g, "'"); - }; - - // JavaScript micro-templating, similar to John Resig's implementation. - // Underscore templating handles arbitrary delimiters, preserves whitespace, - // and correctly escapes quotes within interpolated code. - _.template = function(str, data) { - var c = _.templateSettings; - var tmpl = 'var __p=[],print=function(){__p.push.apply(__p,arguments);};' + - 'with(obj||{}){__p.push(\'' + - str.replace(/\\/g, '\\\\') - .replace(/'/g, "\\'") - .replace(c.escape || noMatch, function(match, code) { - return "',_.escape(" + unescape(code) + "),'"; - }) - .replace(c.interpolate || noMatch, function(match, code) { - return "'," + unescape(code) + ",'"; - }) - .replace(c.evaluate || noMatch, function(match, code) { - return "');" + unescape(code).replace(/[\r\n\t]/g, ' ') + ";__p.push('"; - }) - .replace(/\r/g, '\\r') - .replace(/\n/g, '\\n') - .replace(/\t/g, '\\t') - + "');}return __p.join('');"; - var func = new Function('obj', '_', tmpl); - if (data) return func(data, _); - return function(data) { - return func.call(this, data, _); - }; - }; - - // Add a "chain" function, which will delegate to the wrapper. - _.chain = function(obj) { - return _(obj).chain(); - }; - - // The OOP Wrapper - // --------------- - - // If Underscore is called as a function, it returns a wrapped object that - // can be used OO-style. This wrapper holds altered versions of all the - // underscore functions. Wrapped objects may be chained. - var wrapper = function(obj) { this._wrapped = obj; }; - - // Expose `wrapper.prototype` as `_.prototype` - _.prototype = wrapper.prototype; - - // Helper function to continue chaining intermediate results. - var result = function(obj, chain) { - return chain ? _(obj).chain() : obj; - }; - - // A method to easily add functions to the OOP wrapper. - var addToWrapper = function(name, func) { - wrapper.prototype[name] = function() { - var args = slice.call(arguments); - unshift.call(args, this._wrapped); - return result(func.apply(_, args), this._chain); - }; - }; - - // Add all of the Underscore functions to the wrapper object. - _.mixin(_); - - // Add all mutator Array functions to the wrapper. - each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) { - var method = ArrayProto[name]; - wrapper.prototype[name] = function() { - var wrapped = this._wrapped; - method.apply(wrapped, arguments); - var length = wrapped.length; - if ((name == 'shift' || name == 'splice') && length === 0) delete wrapped[0]; - return result(wrapped, this._chain); - }; - }); - - // Add all accessor Array functions to the wrapper. - each(['concat', 'join', 'slice'], function(name) { - var method = ArrayProto[name]; - wrapper.prototype[name] = function() { - return result(method.apply(this._wrapped, arguments), this._chain); - }; - }); - - // Start chaining a wrapped Underscore object. - wrapper.prototype.chain = function() { - this._chain = true; - return this; - }; - - // Extracts the result from a wrapped and chained object. - wrapper.prototype.value = function() { - return this._wrapped; - }; - -}).call(this); diff --git a/docs/_build/html/_static/underscore.js b/docs/_build/html/_static/underscore.js index 5b55f32b..166240ef 100644 --- a/docs/_build/html/_static/underscore.js +++ b/docs/_build/html/_static/underscore.js @@ -1,31 +1,6 @@ -// Underscore.js 1.3.1 -// (c) 2009-2012 Jeremy Ashkenas, DocumentCloud Inc. -// Underscore is freely distributable under the MIT license. -// Portions of Underscore are inspired or borrowed from Prototype, -// Oliver Steele's Functional, and John Resig's Micro-Templating. -// For all details and documentation: -// http://documentcloud.github.com/underscore -(function(){function q(a,c,d){if(a===c)return a!==0||1/a==1/c;if(a==null||c==null)return a===c;if(a._chain)a=a._wrapped;if(c._chain)c=c._wrapped;if(a.isEqual&&b.isFunction(a.isEqual))return a.isEqual(c);if(c.isEqual&&b.isFunction(c.isEqual))return c.isEqual(a);var e=l.call(a);if(e!=l.call(c))return false;switch(e){case "[object String]":return a==String(c);case "[object Number]":return a!=+a?c!=+c:a==0?1/a==1/c:a==+c;case "[object Date]":case "[object Boolean]":return+a==+c;case "[object RegExp]":return a.source== -c.source&&a.global==c.global&&a.multiline==c.multiline&&a.ignoreCase==c.ignoreCase}if(typeof a!="object"||typeof c!="object")return false;for(var f=d.length;f--;)if(d[f]==a)return true;d.push(a);var f=0,g=true;if(e=="[object Array]"){if(f=a.length,g=f==c.length)for(;f--;)if(!(g=f in a==f in c&&q(a[f],c[f],d)))break}else{if("constructor"in a!="constructor"in c||a.constructor!=c.constructor)return false;for(var h in a)if(b.has(a,h)&&(f++,!(g=b.has(c,h)&&q(a[h],c[h],d))))break;if(g){for(h in c)if(b.has(c, -h)&&!f--)break;g=!f}}d.pop();return g}var r=this,G=r._,n={},k=Array.prototype,o=Object.prototype,i=k.slice,H=k.unshift,l=o.toString,I=o.hasOwnProperty,w=k.forEach,x=k.map,y=k.reduce,z=k.reduceRight,A=k.filter,B=k.every,C=k.some,p=k.indexOf,D=k.lastIndexOf,o=Array.isArray,J=Object.keys,s=Function.prototype.bind,b=function(a){return new m(a)};if(typeof exports!=="undefined"){if(typeof module!=="undefined"&&module.exports)exports=module.exports=b;exports._=b}else r._=b;b.VERSION="1.3.1";var j=b.each= -b.forEach=function(a,c,d){if(a!=null)if(w&&a.forEach===w)a.forEach(c,d);else if(a.length===+a.length)for(var e=0,f=a.length;e2;a== -null&&(a=[]);if(y&&a.reduce===y)return e&&(c=b.bind(c,e)),f?a.reduce(c,d):a.reduce(c);j(a,function(a,b,i){f?d=c.call(e,d,a,b,i):(d=a,f=true)});if(!f)throw new TypeError("Reduce of empty array with no initial value");return d};b.reduceRight=b.foldr=function(a,c,d,e){var f=arguments.length>2;a==null&&(a=[]);if(z&&a.reduceRight===z)return e&&(c=b.bind(c,e)),f?a.reduceRight(c,d):a.reduceRight(c);var g=b.toArray(a).reverse();e&&!f&&(c=b.bind(c,e));return f?b.reduce(g,c,d,e):b.reduce(g,c)};b.find=b.detect= -function(a,c,b){var e;E(a,function(a,g,h){if(c.call(b,a,g,h))return e=a,true});return e};b.filter=b.select=function(a,c,b){var e=[];if(a==null)return e;if(A&&a.filter===A)return a.filter(c,b);j(a,function(a,g,h){c.call(b,a,g,h)&&(e[e.length]=a)});return e};b.reject=function(a,c,b){var e=[];if(a==null)return e;j(a,function(a,g,h){c.call(b,a,g,h)||(e[e.length]=a)});return e};b.every=b.all=function(a,c,b){var e=true;if(a==null)return e;if(B&&a.every===B)return a.every(c,b);j(a,function(a,g,h){if(!(e= -e&&c.call(b,a,g,h)))return n});return e};var E=b.some=b.any=function(a,c,d){c||(c=b.identity);var e=false;if(a==null)return e;if(C&&a.some===C)return a.some(c,d);j(a,function(a,b,h){if(e||(e=c.call(d,a,b,h)))return n});return!!e};b.include=b.contains=function(a,c){var b=false;if(a==null)return b;return p&&a.indexOf===p?a.indexOf(c)!=-1:b=E(a,function(a){return a===c})};b.invoke=function(a,c){var d=i.call(arguments,2);return b.map(a,function(a){return(b.isFunction(c)?c||a:a[c]).apply(a,d)})};b.pluck= -function(a,c){return b.map(a,function(a){return a[c]})};b.max=function(a,c,d){if(!c&&b.isArray(a))return Math.max.apply(Math,a);if(!c&&b.isEmpty(a))return-Infinity;var e={computed:-Infinity};j(a,function(a,b,h){b=c?c.call(d,a,b,h):a;b>=e.computed&&(e={value:a,computed:b})});return e.value};b.min=function(a,c,d){if(!c&&b.isArray(a))return Math.min.apply(Math,a);if(!c&&b.isEmpty(a))return Infinity;var e={computed:Infinity};j(a,function(a,b,h){b=c?c.call(d,a,b,h):a;bd?1:0}),"value")};b.groupBy=function(a,c){var d={},e=b.isFunction(c)?c:function(a){return a[c]};j(a,function(a,b){var c=e(a,b);(d[c]||(d[c]=[])).push(a)});return d};b.sortedIndex=function(a, -c,d){d||(d=b.identity);for(var e=0,f=a.length;e>1;d(a[g])=0})})};b.difference=function(a){var c=b.flatten(i.call(arguments,1));return b.filter(a,function(a){return!b.include(c,a)})};b.zip=function(){for(var a=i.call(arguments),c=b.max(b.pluck(a,"length")),d=Array(c),e=0;e=0;d--)b=[a[d].apply(this,b)];return b[0]}}; -b.after=function(a,b){return a<=0?b():function(){if(--a<1)return b.apply(this,arguments)}};b.keys=J||function(a){if(a!==Object(a))throw new TypeError("Invalid object");var c=[],d;for(d in a)b.has(a,d)&&(c[c.length]=d);return c};b.values=function(a){return b.map(a,b.identity)};b.functions=b.methods=function(a){var c=[],d;for(d in a)b.isFunction(a[d])&&c.push(d);return c.sort()};b.extend=function(a){j(i.call(arguments,1),function(b){for(var d in b)a[d]=b[d]});return a};b.defaults=function(a){j(i.call(arguments, -1),function(b){for(var d in b)a[d]==null&&(a[d]=b[d])});return a};b.clone=function(a){return!b.isObject(a)?a:b.isArray(a)?a.slice():b.extend({},a)};b.tap=function(a,b){b(a);return a};b.isEqual=function(a,b){return q(a,b,[])};b.isEmpty=function(a){if(b.isArray(a)||b.isString(a))return a.length===0;for(var c in a)if(b.has(a,c))return false;return true};b.isElement=function(a){return!!(a&&a.nodeType==1)};b.isArray=o||function(a){return l.call(a)=="[object Array]"};b.isObject=function(a){return a===Object(a)}; -b.isArguments=function(a){return l.call(a)=="[object Arguments]"};if(!b.isArguments(arguments))b.isArguments=function(a){return!(!a||!b.has(a,"callee"))};b.isFunction=function(a){return l.call(a)=="[object Function]"};b.isString=function(a){return l.call(a)=="[object String]"};b.isNumber=function(a){return l.call(a)=="[object Number]"};b.isNaN=function(a){return a!==a};b.isBoolean=function(a){return a===true||a===false||l.call(a)=="[object Boolean]"};b.isDate=function(a){return l.call(a)=="[object Date]"}; -b.isRegExp=function(a){return l.call(a)=="[object RegExp]"};b.isNull=function(a){return a===null};b.isUndefined=function(a){return a===void 0};b.has=function(a,b){return I.call(a,b)};b.noConflict=function(){r._=G;return this};b.identity=function(a){return a};b.times=function(a,b,d){for(var e=0;e/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")};b.mixin=function(a){j(b.functions(a), -function(c){K(c,b[c]=a[c])})};var L=0;b.uniqueId=function(a){var b=L++;return a?a+b:b};b.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var t=/.^/,u=function(a){return a.replace(/\\\\/g,"\\").replace(/\\'/g,"'")};b.template=function(a,c){var d=b.templateSettings,d="var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('"+a.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(d.escape||t,function(a,b){return"',_.escape("+ -u(b)+"),'"}).replace(d.interpolate||t,function(a,b){return"',"+u(b)+",'"}).replace(d.evaluate||t,function(a,b){return"');"+u(b).replace(/[\r\n\t]/g," ")+";__p.push('"}).replace(/\r/g,"\\r").replace(/\n/g,"\\n").replace(/\t/g,"\\t")+"');}return __p.join('');",e=new Function("obj","_",d);return c?e(c,b):function(a){return e.call(this,a,b)}};b.chain=function(a){return b(a).chain()};var m=function(a){this._wrapped=a};b.prototype=m.prototype;var v=function(a,c){return c?b(a).chain():a},K=function(a,c){m.prototype[a]= -function(){var a=i.call(arguments);H.call(a,this._wrapped);return v(c.apply(b,a),this._chain)}};b.mixin(b);j("pop,push,reverse,shift,sort,splice,unshift".split(","),function(a){var b=k[a];m.prototype[a]=function(){var d=this._wrapped;b.apply(d,arguments);var e=d.length;(a=="shift"||a=="splice")&&e===0&&delete d[0];return v(d,this._chain)}});j(["concat","join","slice"],function(a){var b=k[a];m.prototype[a]=function(){return v(b.apply(this._wrapped,arguments),this._chain)}});m.prototype.chain=function(){this._chain= -true;return this};m.prototype.value=function(){return this._wrapped}}).call(this); +!function(n,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define("underscore",r):(n=n||self,function(){var t=n._,e=n._=r();e.noConflict=function(){return n._=t,e}}())}(this,(function(){ +// Underscore.js 1.12.0 +// https://underscorejs.org +// (c) 2009-2020 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors +// Underscore may be freely distributed under the MIT license. +var n="1.12.0",r="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||Function("return this")()||{},t=Array.prototype,e=Object.prototype,u="undefined"!=typeof Symbol?Symbol.prototype:null,o=t.push,i=t.slice,a=e.toString,f=e.hasOwnProperty,c="undefined"!=typeof ArrayBuffer,l="undefined"!=typeof DataView,s=Array.isArray,p=Object.keys,v=Object.create,h=c&&ArrayBuffer.isView,y=isNaN,g=isFinite,d=!{toString:null}.propertyIsEnumerable("toString"),b=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],m=Math.pow(2,53)-1;function j(n,r){return r=null==r?n.length-1:+r,function(){for(var t=Math.max(arguments.length-r,0),e=Array(t),u=0;u=0&&t<=m}}function $(n){return function(r){return null==r?void 0:r[n]}}var G=$("byteLength"),H=J(G),Q=/\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/;var X=c?function(n){return h?h(n)&&!q(n):H(n)&&Q.test(a.call(n))}:K(!1),Y=$("length");function Z(n,r){r=function(n){for(var r={},t=n.length,e=0;e":">",'"':""","'":"'","`":"`"},Kn=Ln(Cn),Jn=Ln(_n(Cn)),$n=tn.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g},Gn=/(.)^/,Hn={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},Qn=/\\|'|\r|\n|\u2028|\u2029/g;function Xn(n){return"\\"+Hn[n]}var Yn=0;function Zn(n,r,t,e,u){if(!(e instanceof r))return n.apply(t,u);var o=Mn(n.prototype),i=n.apply(o,u);return _(i)?i:o}var nr=j((function(n,r){var t=nr.placeholder,e=function(){for(var u=0,o=r.length,i=Array(o),a=0;a1)er(a,r-1,t,e),u=e.length;else for(var f=0,c=a.length;f0&&(t=r.apply(this,arguments)),n<=1&&(r=null),t}}var cr=nr(fr,2);function lr(n,r,t){r=qn(r,t);for(var e,u=nn(n),o=0,i=u.length;o0?0:u-1;o>=0&&o0?a=o>=0?o:Math.max(o+f,a):f=o>=0?Math.min(o+1,f):o+f+1;else if(t&&o&&f)return e[o=t(e,u)]===u?o:-1;if(u!=u)return(o=r(i.call(e,a,f),C))>=0?o+a:-1;for(o=n>0?a:f-1;o>=0&&o0?0:i-1;for(u||(e=r[o?o[a]:a],a+=n);a>=0&&a=3;return r(n,Fn(t,u,4),e,o)}}var wr=_r(1),Ar=_r(-1);function xr(n,r,t){var e=[];return r=qn(r,t),mr(n,(function(n,t,u){r(n,t,u)&&e.push(n)})),e}function Sr(n,r,t){r=qn(r,t);for(var e=!tr(n)&&nn(n),u=(e||n).length,o=0;o=0}var Er=j((function(n,r,t){var e,u;return D(r)?u=r:(r=Nn(r),e=r.slice(0,-1),r=r[r.length-1]),jr(n,(function(n){var o=u;if(!o){if(e&&e.length&&(n=In(n,e)),null==n)return;o=n[r]}return null==o?o:o.apply(n,t)}))}));function Br(n,r){return jr(n,Rn(r))}function Nr(n,r,t){var e,u,o=-1/0,i=-1/0;if(null==r||"number"==typeof r&&"object"!=typeof n[0]&&null!=n)for(var a=0,f=(n=tr(n)?n:jn(n)).length;ao&&(o=e);else r=qn(r,t),mr(n,(function(n,t,e){((u=r(n,t,e))>i||u===-1/0&&o===-1/0)&&(o=n,i=u)}));return o}function Ir(n,r,t){if(null==r||t)return tr(n)||(n=jn(n)),n[Wn(n.length-1)];var e=tr(n)?En(n):jn(n),u=Y(e);r=Math.max(Math.min(r,u),0);for(var o=u-1,i=0;i1&&(e=Fn(e,r[1])),r=an(n)):(e=Pr,r=er(r,!1,!1),n=Object(n));for(var u=0,o=r.length;u1&&(t=r[1])):(r=jr(er(r,!1,!1),String),e=function(n,t){return!Mr(r,t)}),qr(n,e,t)}));function Wr(n,r,t){return i.call(n,0,Math.max(0,n.length-(null==r||t?1:r)))}function zr(n,r,t){return null==n||n.length<1?null==r||t?void 0:[]:null==r||t?n[0]:Wr(n,n.length-r)}function Lr(n,r,t){return i.call(n,null==r||t?1:r)}var Cr=j((function(n,r){return r=er(r,!0,!0),xr(n,(function(n){return!Mr(r,n)}))})),Kr=j((function(n,r){return Cr(n,r)}));function Jr(n,r,t,e){A(r)||(e=t,t=r,r=!1),null!=t&&(t=qn(t,e));for(var u=[],o=[],i=0,a=Y(n);ir?(e&&(clearTimeout(e),e=null),a=c,i=n.apply(u,o),e||(u=o=null)):e||!1===t.trailing||(e=setTimeout(f,l)),i};return c.cancel=function(){clearTimeout(e),a=0,e=u=o=null},c},debounce:function(n,r,t){var e,u,o=function(r,t){e=null,t&&(u=n.apply(r,t))},i=j((function(i){if(e&&clearTimeout(e),t){var a=!e;e=setTimeout(o,r),a&&(u=n.apply(this,i))}else e=or(o,r,this,i);return u}));return i.cancel=function(){clearTimeout(e),e=null},i},wrap:function(n,r){return nr(r,n)},negate:ar,compose:function(){var n=arguments,r=n.length-1;return function(){for(var t=r,e=n[r].apply(this,arguments);t--;)e=n[t].call(this,e);return e}},after:function(n,r){return function(){if(--n<1)return r.apply(this,arguments)}},before:fr,once:cr,findKey:lr,findIndex:pr,findLastIndex:vr,sortedIndex:hr,indexOf:gr,lastIndexOf:dr,find:br,detect:br,findWhere:function(n,r){return br(n,Dn(r))},each:mr,forEach:mr,map:jr,collect:jr,reduce:wr,foldl:wr,inject:wr,reduceRight:Ar,foldr:Ar,filter:xr,select:xr,reject:function(n,r,t){return xr(n,ar(qn(r)),t)},every:Sr,all:Sr,some:Or,any:Or,contains:Mr,includes:Mr,include:Mr,invoke:Er,pluck:Br,where:function(n,r){return xr(n,Dn(r))},max:Nr,min:function(n,r,t){var e,u,o=1/0,i=1/0;if(null==r||"number"==typeof r&&"object"!=typeof n[0]&&null!=n)for(var a=0,f=(n=tr(n)?n:jn(n)).length;ae||void 0===t)return 1;if(t - Binning — TreeCorr 4.2.3 documentation + Binning — TreeCorr 4.2.5 documentation @@ -32,7 +32,6 @@ - @@ -118,6 +117,7 @@
  • Changes from version 4.2.1 to 4.2.2
  • Changes from version 4.2.2 to 4.2.3
  • Changes from version 4.2.3 to 4.2.4
  • +
  • Changes from version 4.2.4 to 4.2.5
  • Previous History
  • diff --git a/docs/_build/html/catalog.html b/docs/_build/html/catalog.html index 336d02ad..cb53b6f4 100644 --- a/docs/_build/html/catalog.html +++ b/docs/_build/html/catalog.html @@ -7,7 +7,7 @@ - Input Data — TreeCorr 4.2.3 documentation + Input Data — TreeCorr 4.2.5 documentation @@ -111,6 +111,7 @@
  • Changes from version 4.2.1 to 4.2.2
  • Changes from version 4.2.2 to 4.2.3
  • Changes from version 4.2.3 to 4.2.4
  • +
  • Changes from version 4.2.4 to 4.2.5
  • Previous History
  • @@ -185,7 +186,7 @@

    Input Data

    -class treecorr.Catalog(file_name=None, config=None, num=0, logger=None, is_rand=False, x=None, y=None, z=None, ra=None, dec=None, r=None, w=None, wpos=None, flag=None, g1=None, g2=None, k=None, patch=None, patch_centers=None, rng=None, **kwargs)[source]
    +class treecorr.Catalog(file_name=None, config=None, num=0, logger=None, is_rand=False, x=None, y=None, z=None, ra=None, dec=None, r=None, w=None, wpos=None, flag=None, g1=None, g2=None, k=None, patch=None, patch_centers=None, rng=None, **kwargs)[source]

    A set of input data (positions and other quantities) to be correlated.

    A Catalog object keeps track of the relevant information for a number of objects to be correlated. The objects each have some kind of position (for instance (x,y), (ra,dec), @@ -522,7 +523,7 @@

    The Catalog class
    -checkForNaN(col, col_str)[source]
    +checkForNaN(col, col_str)[source]

    Check if the column has any NaNs. If so, set those rows to have w[k]=0.

    Parameters
    @@ -536,7 +537,7 @@

    The Catalog class
    -clear_cache()[source]
    +clear_cache()[source]

    Clear all field caches.

    The various kinds of fields built from this catalog are cached. This may or may not be an optimization for your use case. Normally only a single field is built for a @@ -566,13 +567,13 @@

    The Catalog class
    -copy()[source]
    +copy()[source]

    Make a copy

    -getGField(min_size=0, max_size=None, split_method=None, brute=False, min_top=None, max_top=10, coords=None, logger=None)[source]
    +getGField(min_size=0, max_size=None, split_method=None, brute=False, min_top=None, max_top=10, coords=None, logger=None)[source]

    Return a GField based on the g1,g2 values in this catalog.

    The GField object is cached, so this is efficient to call multiple times. cf. resize_cache and clear_cache.

    @@ -601,7 +602,7 @@

    The Catalog class
    -getGSimpleField(logger=None)[source]
    +getGSimpleField(logger=None)[source]

    Return a GSimpleField based on the g1,g2 values in this catalog.

    The GSimpleField object is cached, so this is efficient to call multiple times. cf. resize_cache and clear_cache

    @@ -617,7 +618,7 @@

    The Catalog class
    -getKField(min_size=0, max_size=None, split_method=None, brute=False, min_top=None, max_top=10, coords=None, logger=None)[source]
    +getKField(min_size=0, max_size=None, split_method=None, brute=False, min_top=None, max_top=10, coords=None, logger=None)[source]

    Return a KField based on the k values in this catalog.

    The KField object is cached, so this is efficient to call multiple times. cf. resize_cache and clear_cache

    @@ -646,7 +647,7 @@

    The Catalog class
    -getKSimpleField(logger=None)[source]
    +getKSimpleField(logger=None)[source]

    Return a KSimpleField based on the k values in this catalog.

    The KSimpleField object is cached, so this is efficient to call multiple times. cf. resize_cache and clear_cache

    @@ -662,7 +663,7 @@

    The Catalog class
    -getNField(min_size=0, max_size=None, split_method=None, brute=False, min_top=None, max_top=10, coords=None, logger=None)[source]
    +getNField(min_size=0, max_size=None, split_method=None, brute=False, min_top=None, max_top=10, coords=None, logger=None)[source]

    Return an NField based on the positions in this catalog.

    The NField object is cached, so this is efficient to call multiple times. cf. resize_cache and clear_cache

    @@ -691,7 +692,7 @@

    The Catalog class
    -getNSimpleField(logger=None)[source]
    +getNSimpleField(logger=None)[source]

    Return an NSimpleField based on the positions in this catalog.

    The NSimpleField object is cached, so this is efficient to call multiple times. cf. resize_cache and clear_cache

    @@ -707,7 +708,7 @@

    The Catalog class
    -get_patch_centers()[source]
    +get_patch_centers()[source]

    Return an array of patch centers corresponding to the patches in this catalog.

    If the patches were set either using K-Means or by giving the centers, then this will just return that same center array. Otherwise, it will be calculated from the @@ -726,13 +727,13 @@

    The Catalog class
    -get_patch_file_names(save_patch_dir)[source]
    +get_patch_file_names(save_patch_dir)[source]

    Get the names of the files to use for reading/writing patches in save_patch_dir

    -get_patches(low_mem=False)[source]
    +get_patches(low_mem=False)[source]

    Return a list of Catalog instances each representing a single patch from this Catalog

    After calling this function once, the patches may be repeatedly accessed by the patches attribute, without triggering a rebuild of the patches. Furthermore, @@ -751,7 +752,7 @@

    The Catalog class
    -load()[source]
    +load()[source]

    Load the data from a file, if it isn’t yet loaded.

    When a Catalog is read in from a file, it tries to delay the loading of the data from disk until it is actually needed. This is especially important when running over a @@ -763,7 +764,7 @@

    The Catalog class
    -makeArray(col, col_str, dtype=<class 'float'>)[source]
    +makeArray(col, col_str, dtype=<class 'float'>)[source]

    Turn the input column into a numpy array if it wasn’t already. Also make sure the input is 1-d.

    @@ -782,7 +783,7 @@

    The Catalog class
    -read_patch_centers(file_name)[source]
    +read_patch_centers(file_name)[source]

    Read patch centers from a file.

    This function typically gets called automatically when setting patch_centers as a string, being the file name. The patch centers are read from the file and returned.

    @@ -798,7 +799,7 @@

    The Catalog class
    -read_patches(save_patch_dir=None)[source]
    +read_patches(save_patch_dir=None)[source]

    Read the patches from files on disk.

    This function assumes that the patches were written using write_patches. In particular, the file names are not arbitrary, but must match what TreeCorr uses @@ -820,7 +821,7 @@

    The Catalog class
    -resize_cache(maxsize)[source]
    +resize_cache(maxsize)[source]

    Resize all field caches.

    The various kinds of fields built from this catalog are cached. This may or may not be an optimization for your use case. Normally only a single field is built for a @@ -866,7 +867,7 @@

    The Catalog class
    -select(indx)[source]
    +select(indx)[source]

    Trim the catalog to only include those objects with the give indices.

    Parameters
    @@ -877,7 +878,7 @@

    The Catalog class
    -unload()[source]
    +unload()[source]

    Bring the Catalog back to an “unloaded” state, if possible.

    When a Catalog is read in from a file, it tries to delay the loading of the data from disk until it is actually needed. After loading, this method will return the Catalog @@ -891,7 +892,7 @@

    The Catalog class
    -write(file_name, file_type=None, cat_precision=None)[source]
    +write(file_name, file_type=None, cat_precision=None)[source]

    Write the catalog to a file.

    The position columns are output using the same units as were used when building the Catalog. If you want to use a different unit, you can set the catalog’s units directly @@ -978,7 +979,7 @@

    The Catalog class
    -write_patch_centers(file_name)[source]
    +write_patch_centers(file_name)[source]

    Write the patch centers to a file.

    The output file will include the following columns:

    @@ -1016,7 +1017,7 @@

    The Catalog class
    -write_patches(save_patch_dir=None)[source]
    +write_patches(save_patch_dir=None)[source]

    Write the patches to disk as separate files.

    This can be used in conjunction with low_mem=True option of get_patches (and implicitly by the various process methods) to only keep @@ -1037,7 +1038,7 @@

    The Catalog class

    -treecorr.read_catalogs(config, key=None, list_key=None, num=0, logger=None, is_rand=None)[source]
    +treecorr.read_catalogs(config, key=None, list_key=None, num=0, logger=None, is_rand=None)[source]

    Read in a list of catalogs for the given key.

    key should be the file_name parameter or similar key word. list_key should be be corresponging file_list parameter, if appropriate. @@ -1071,7 +1072,7 @@

    Other utilities related to catalogs
    -treecorr.calculateVarG(cat_list, low_mem=False)[source]
    +treecorr.calculateVarG(cat_list, low_mem=False)[source]

    Calculate the overall shear variance from a list of catalogs.

    The catalogs are assumed to be equivalent, so this is just the average shear variance (per component) weighted by the number of objects in each catalog.

    @@ -1091,7 +1092,7 @@

    Other utilities related to catalogs
    -treecorr.calculateVarK(cat_list, low_mem=False)[source]
    +treecorr.calculateVarK(cat_list, low_mem=False)[source]

    Calculate the overall kappa variance from a list of catalogs.

    The catalogs are assumed to be equivalent, so this is just the average kappa variance weighted by the number of objects in each catalog.

    @@ -1111,7 +1112,7 @@

    Other utilities related to catalogs
    -treecorr.catalog.isGColRequired(config, num)[source]
    +treecorr.catalog.isGColRequired(config, num)[source]

    A quick helper function that checks whether we need to bother reading the g1,g2 columns.

    It checks the config dict for the output file names gg_file_name, ng_file_name (only if num == 1), etc. If the output files indicate that we don’t need the g1/g2 columns, then @@ -1138,7 +1139,7 @@

    Other utilities related to catalogs
    -treecorr.catalog.isKColRequired(config, num)[source]
    +treecorr.catalog.isKColRequired(config, num)[source]

    A quick helper function that checks whether we need to bother reading the k column.

    The logic here is the same as for isGColRequired, but we check for output files that require the k column rather than g1,g2.

    @@ -1161,12 +1162,12 @@

    Other utilities related to catalogs

    -class treecorr.reader.FitsReader(file_name)[source]
    +class treecorr.reader.FitsReader(file_name)[source]

    Reader interface for FITS files. Uses fitsio to read columns, etc.

    -check_valid_ext(ext)[source]
    +check_valid_ext(ext)[source]

    Check if an extension is valid for reading, and raise ValueError if not.

    The ext must both exist and be a table (not an image)

    @@ -1178,7 +1179,7 @@

    File Readers
    -names(ext=1)[source]
    +names(ext=1)[source]

    Return a list of the names of all the columns in an extension

    Parameters
    @@ -1192,7 +1193,7 @@

    File Readers
    -read(cols, s=slice(None, None, None), ext=1)[source]
    +read(cols, s=slice(None, None, None), ext=1)[source]

    Read a slice of a column or list of columns from a specified extension

    Parameters
    @@ -1210,7 +1211,7 @@

    File Readers
    -row_count(col=None, ext=1)[source]
    +row_count(col=None, ext=1)[source]

    Count the number of rows in the named extension

    For compatibility with the HDF interface, which can have columns of different lengths, we allow a second argument, col, but it is @@ -1232,12 +1233,12 @@

    File Readers
    -class treecorr.reader.HdfReader(file_name)[source]
    +class treecorr.reader.HdfReader(file_name)[source]

    Reader interface for HDF5 files. Uses h5py to read columns, etc.

    -check_valid_ext(ext)[source]
    +check_valid_ext(ext)[source]

    Check if an extension is valid for reading, and raise ValueError if not.

    The ext must exist - there is no other requirement for HDF files.

    @@ -1249,7 +1250,7 @@

    File Readers
    -names(ext='/')[source]
    +names(ext='/')[source]

    Return a list of the names of all the columns in an extension

    Parameters
    @@ -1263,7 +1264,7 @@

    File Readers
    -read(cols, s=slice(None, None, None), ext='/')[source]
    +read(cols, s=slice(None, None, None), ext='/')[source]

    Read a slice of a column or list of columns from a specified extension.

    Slices should always be used when reading HDF files - using a sequence of integers is painfully slow.

    @@ -1283,7 +1284,7 @@

    File Readers
    -row_count(col, ext='/')[source]
    +row_count(col, ext='/')[source]

    Count the number of rows in the named extension and column

    Unlike in FitsReader, col is required.

    @@ -1303,11 +1304,11 @@

    File Readers
    -class treecorr.reader.AsciiReader(file_name, delimiter=None, comment_marker='#')[source]
    +class treecorr.reader.AsciiReader(file_name, delimiter=None, comment_marker='#')[source]

    Reader interface for ASCII files using numpy.

    -check_valid_ext(ext)[source]
    +check_valid_ext(ext)[source]

    Check if an extension is valid for reading, and raise ValueError if not.

    None is the only valid extension for ASCII files.

    @@ -1319,7 +1320,7 @@

    File Readers
    -names(ext=None)[source]
    +names(ext=None)[source]

    Return a list of the names of all the columns in an extension

    Parameters
    @@ -1333,7 +1334,7 @@

    File Readers
    -read(cols, s=slice(None, None, None), ext=None)[source]
    +read(cols, s=slice(None, None, None), ext=None)[source]

    Read a slice of a column or list of columns from a specified extension.

    Parameters
    @@ -1351,7 +1352,7 @@

    File Readers
    -row_count(col=None, ext=None)[source]
    +row_count(col=None, ext=None)[source]

    Count the number of rows in the file.

    Parameters
    @@ -1370,11 +1371,11 @@

    File Readers
    -class treecorr.reader.PandasReader(file_name, delimiter=None, comment_marker='#')[source]
    +class treecorr.reader.PandasReader(file_name, delimiter=None, comment_marker='#')[source]

    Reader interface for ASCII files using pandas.

    -read(cols, s=slice(None, None, None), ext=None)[source]
    +read(cols, s=slice(None, None, None), ext=None)[source]

    Read a slice of a column or list of columns from a specified extension.

    Parameters
    diff --git a/docs/_build/html/changes.html b/docs/_build/html/changes.html index 8148b7b8..56ecf488 100644 --- a/docs/_build/html/changes.html +++ b/docs/_build/html/changes.html @@ -7,7 +7,7 @@ - Changes from version 4.1 to 4.2 — TreeCorr 4.2.3 documentation + Changes from version 4.1 to 4.2 — TreeCorr 4.2.5 documentation @@ -32,7 +32,6 @@ - @@ -112,6 +111,7 @@
  • Changes from version 4.2.1 to 4.2.2
  • Changes from version 4.2.2 to 4.2.3
  • Changes from version 4.2.3 to 4.2.4
  • +
  • Changes from version 4.2.4 to 4.2.5
  • Previous History
  • @@ -269,13 +269,15 @@

    Bug fixes

    Changes from version 4.2.0 to 4.2.1

      -
    • Fixed a bug when running NN correlations with MPI (#127)

    • +
    • Fixed a bug when running NN correlations with MPI. Thanks to Joe Zuntz for +the bug report. (#127)

    Changes from version 4.2.1 to 4.2.2

      -
    • Fixed a build problem with gcc versions 10 and 11.

    • +
    • Fixed a build problem with gcc versions 10 and 11. Thanks to Johannes Lange +for reporting the problem.

    @@ -291,6 +293,13 @@

    Changes from version 4.2.3 to 4.2.4 +

    Changes from version 4.2.4 to 4.2.5

    +
      +
    • Fixed bugs in the shot noise variance estimate for GGG and the propagation of +the error to Map3. Thanks to Lucas Secco for the bug report. (#133)

    • +

    diff --git a/docs/_build/html/correlation2.html b/docs/_build/html/correlation2.html index 40fd9235..3c57865c 100644 --- a/docs/_build/html/correlation2.html +++ b/docs/_build/html/correlation2.html @@ -7,7 +7,7 @@ - Two-point Correlation Functions — TreeCorr 4.2.3 documentation + Two-point Correlation Functions — TreeCorr 4.2.5 documentation @@ -114,6 +114,7 @@
  • Changes from version 4.2.1 to 4.2.2
  • Changes from version 4.2.2 to 4.2.3
  • Changes from version 4.2.3 to 4.2.4
  • +
  • Changes from version 4.2.4 to 4.2.5
  • Previous History
  • @@ -200,7 +201,7 @@

    Two-point Correlation Functions
    -class treecorr.BinnedCorr2(config=None, logger=None, rng=None, **kwargs)[source]
    +class treecorr.BinnedCorr2(config=None, logger=None, rng=None, **kwargs)[source]

    This class stores the results of a 2-point correlation calculation, along with some ancillary data.

    This is a base class that is not intended to be constructed directly. But it has a few @@ -387,13 +388,13 @@

    Two-point Correlation Functions
    -clear()[source]
    +clear()[source]

    Clear all data vectors, the results dict, and any related values.

    -estimate_cov(method, func=None)[source]
    +estimate_cov(method, func=None)[source]

    Estimate the covariance matrix based on the data

    This function will calculate an estimate of the covariance matrix according to the given method.

    @@ -465,7 +466,7 @@

    Two-point Correlation Functions
    -getStat()[source]
    +getStat()[source]

    The standard statistic for the current correlation object as a 1-d array.

    Usually, this is just self.xi. But if the metric is TwoD, this becomes self.xi.ravel(). And for GGCorrelation, it is the concatenation of self.xip and self.xim.

    @@ -473,7 +474,7 @@

    Two-point Correlation Functions
    -getWeight()[source]
    +getWeight()[source]

    The weight array for the current correlation object as a 1-d array.

    This is the weight array corresponding to getStat. Usually just self.weight, but raveled for TwoD and duplicated for GGCorrelation to match what getStat does in @@ -482,13 +483,13 @@

    Two-point Correlation Functions
    -property nonzero
    +property nonzero

    Return if there are any values accumulated yet. (i.e. npairs > 0)

    -sample_pairs(n, cat1, cat2, min_sep, max_sep, metric=None)[source]
    +sample_pairs(n, cat1, cat2, min_sep, max_sep, metric=None)[source]

    Return a random sample of n pairs whose separations fall between min_sep and max_sep.

    This would typically be used to get some random subset of the indices of pairs that fell into a particular bin of the correlation. E.g. to get 100 pairs from the third @@ -548,7 +549,7 @@

    Two-point Correlation Functions
    -treecorr.estimate_multi_cov(corrs, method, func=None)[source]
    +treecorr.estimate_multi_cov(corrs, method, func=None)[source]

    Estimate the covariance matrix of multiple statistics.

    This is like the method BinnedCorr2.estimate_cov, except that it will acoommodate multiple statistics from a list corrs of BinnedCorr2 objects.

    diff --git a/docs/_build/html/correlation3.html b/docs/_build/html/correlation3.html index 5accce16..fe008803 100644 --- a/docs/_build/html/correlation3.html +++ b/docs/_build/html/correlation3.html @@ -7,7 +7,7 @@ - Three-point Correlation Functions — TreeCorr 4.2.3 documentation + Three-point Correlation Functions — TreeCorr 4.2.5 documentation @@ -111,6 +111,7 @@
  • Changes from version 4.2.1 to 4.2.2
  • Changes from version 4.2.2 to 4.2.3
  • Changes from version 4.2.3 to 4.2.4
  • +
  • Changes from version 4.2.4 to 4.2.5
  • Previous History
  • @@ -205,7 +206,7 @@

    Three-point Correlation Functions
    -class treecorr.BinnedCorr3(config=None, logger=None, rng=None, **kwargs)[source]
    +class treecorr.BinnedCorr3(config=None, logger=None, rng=None, **kwargs)[source]

    This class stores the results of a 3-point correlation calculation, along with some ancillary data.

    This is a base class that is not intended to be constructed directly. But it has a few @@ -395,13 +396,13 @@

    Three-point Correlation Functions
    -clear()[source]
    +clear()[source]

    Clear all data vectors, the results dict, and any related values.

    -estimate_cov(method, func=None)[source]
    +estimate_cov(method, func=None)[source]

    Estimate the covariance matrix based on the data

    This function will calculate an estimate of the covariance matrix according to the given method.

    @@ -473,7 +474,7 @@

    Three-point Correlation Functions
    -getStat()[source]
    +getStat()[source]

    The standard statistic for the current correlation object as a 1-d array.

    Usually, this is just self.zeta. But if the metric is TwoD, this becomes self.zeta.ravel().

    @@ -483,7 +484,7 @@

    Three-point Correlation Functions
    -getWeight()[source]
    +getWeight()[source]

    The weight array for the current correlation object as a 1-d array.

    This is the weight array corresponding to getStat. Usually just self.weight, but raveled for TwoD and duplicated for GGGCorrelation to match what getStat does in @@ -492,7 +493,7 @@

    Three-point Correlation Functions
    -property nonzero
    +property nonzero

    Return if there are any values accumulated yet. (i.e. ntri > 0)

    diff --git a/docs/_build/html/cov.html b/docs/_build/html/cov.html index 3e8b63a5..8d0e58f0 100644 --- a/docs/_build/html/cov.html +++ b/docs/_build/html/cov.html @@ -7,7 +7,7 @@ - Covariance Estimates — TreeCorr 4.2.3 documentation + Covariance Estimates — TreeCorr 4.2.5 documentation @@ -119,6 +119,7 @@
  • Changes from version 4.2.1 to 4.2.2
  • Changes from version 4.2.2 to 4.2.3
  • Changes from version 4.2.3 to 4.2.4
  • +
  • Changes from version 4.2.4 to 4.2.5
  • Previous History
  • diff --git a/docs/_build/html/field.html b/docs/_build/html/field.html index 3c512585..a92358ab 100644 --- a/docs/_build/html/field.html +++ b/docs/_build/html/field.html @@ -7,7 +7,7 @@ - Fields — TreeCorr 4.2.3 documentation + Fields — TreeCorr 4.2.5 documentation @@ -106,6 +106,7 @@
  • Changes from version 4.2.1 to 4.2.2
  • Changes from version 4.2.2 to 4.2.3
  • Changes from version 4.2.3 to 4.2.4
  • +
  • Changes from version 4.2.4 to 4.2.5
  • Previous History
  • @@ -203,7 +204,7 @@

    Fieldsprocess command do so for you.

    -class treecorr.Field[source]
    +class treecorr.Field[source]

    A Field in TreeCorr is the object that stores the tree structure we use for efficient calculation of the correlation functions.

    The root “cell” in the tree has information about the whole field, including the total @@ -260,7 +261,7 @@

    Fields
    -property cat
    +property cat

    The catalog from which this field was constructed.

    It is stored as a weakref, so if the Catalog has already been garbage collected, this might be None.

    @@ -268,7 +269,7 @@

    Fields
    -count_near(*args, **kwargs)[source]
    +count_near(*args, **kwargs)[source]

    Count how many points are near a given coordinate.

    Use the existing tree structure to count how many points are within some given separation of a target coordinate.

    @@ -340,7 +341,7 @@

    Fields
    -get_near(*args, **kwargs)[source]
    +get_near(*args, **kwargs)[source]

    Get the indices of points near a given coordinate.

    Use the existing tree structure to find the points that are within some given separation of a target coordinate.

    @@ -412,7 +413,7 @@

    Fields
    -kmeans_assign_patches(centers)[source]
    +kmeans_assign_patches(centers)[source]

    Assign patch numbers to each point according to the given centers.

    This is final step in the full K-Means algorithm. It assignes patch numbers to each point in the field according to which center is closest.

    @@ -431,7 +432,7 @@

    Fields
    -kmeans_initialize_centers(npatch, init='tree', rng=None)[source]
    +kmeans_initialize_centers(npatch, init='tree', rng=None)[source]

    Use the field’s tree structure to assign good initial centers for a K-Means run.

    The classic K-Means algorithm involves starting with random points as the initial centers of the patches. This has a tendency to result in rather poor results in @@ -472,7 +473,7 @@

    Fields
    -kmeans_refine_centers(centers, max_iter=200, tol=1e-05, alt=False)[source]
    +kmeans_refine_centers(centers, max_iter=200, tol=1e-05, alt=False)[source]

    Fast implementation of the K-Means algorithm

    The standard K-Means algorithm is as follows (cf. https://en.wikipedia.org/wiki/K-means_clustering):

    @@ -519,13 +520,13 @@

    Fields
    -property nTopLevelNodes
    +property nTopLevelNodes

    The number of top-level nodes.

    -run_kmeans(npatch, max_iter=200, tol=1e-05, init='tree', alt=False, rng=None)[source]
    +run_kmeans(npatch, max_iter=200, tol=1e-05, init='tree', alt=False, rng=None)[source]

    Use k-means algorithm to set patch labels for a field.

    The k-means algorithm (cf. https://en.wikipedia.org/wiki/K-means_clustering) identifies a center position for each patch. Each point is then assigned to the patch whose center @@ -629,7 +630,7 @@

    Fields
    -class treecorr.NField(cat, min_size=0, max_size=None, split_method='mean', brute=False, min_top=None, max_top=10, coords=None, rng=None, logger=None)[source]
    +class treecorr.NField(cat, min_size=0, max_size=None, split_method='mean', brute=False, min_top=None, max_top=10, coords=None, rng=None, logger=None)[source]

    This class stores the positions and number of objects in a tree structure from which it is efficient to compute correlation functions.

    An NField is typically created from a Catalog object using

    @@ -661,7 +662,7 @@

    Fields
    -class treecorr.GField(cat, min_size=0, max_size=None, split_method='mean', brute=False, min_top=None, max_top=10, coords=None, rng=None, logger=None)[source]
    +class treecorr.GField(cat, min_size=0, max_size=None, split_method='mean', brute=False, min_top=None, max_top=10, coords=None, rng=None, logger=None)[source]

    This class stores the values of a spinor field (gamma in the weak lensing context) in a tree structure from which it is efficient to compute correlation functions.

    A GField is typically created from a Catalog object using

    @@ -693,7 +694,7 @@

    Fields
    -class treecorr.KField(cat, min_size=0, max_size=None, split_method='mean', brute=False, min_top=None, max_top=10, coords=None, rng=None, logger=None)[source]
    +class treecorr.KField(cat, min_size=0, max_size=None, split_method='mean', brute=False, min_top=None, max_top=10, coords=None, rng=None, logger=None)[source]

    This class stores the values of a scalar field (kappa in the weak lensing context) in a tree structure from which it is efficient to compute correlation functions.

    A KField is typically created from a Catalog object using

    @@ -725,7 +726,7 @@

    Fields
    -class treecorr.SimpleField[source]
    +class treecorr.SimpleField[source]

    A SimpleField is like a Field, but only stores the leaves as a list, skipping all the tree stuff.

    Again, this is an abstract base class, which cannot be instantiated. You should @@ -748,7 +749,7 @@

    Fields
    -class treecorr.NSimpleField(cat, logger=None)[source]
    +class treecorr.NSimpleField(cat, logger=None)[source]

    This class stores the positions as a list, skipping all the tree stuff.

    An NSimpleField is typically created from a Catalog object using

    >>> nfield = cat.getNSimpleField()
    @@ -773,7 +774,7 @@ 

    Fields
    -class treecorr.GSimpleField(cat, logger=None)[source]
    +class treecorr.GSimpleField(cat, logger=None)[source]

    This class stores the shear field as a list, skipping all the tree stuff.

    A GSimpleField is typically created from a Catalog object using

    >>> gfield = cat.getGSimpleField()
    @@ -798,7 +799,7 @@ 

    Fields
    -class treecorr.KSimpleField(cat, logger=None)[source]
    +class treecorr.KSimpleField(cat, logger=None)[source]

    This class stores the kappa field as a list, skipping all the tree stuff.

    A KSimpleField is typically created from a Catalog object using

    >>> kfield = cat.getKSimpleField()
    diff --git a/docs/_build/html/genindex.html b/docs/_build/html/genindex.html
    index c0e2fe4e..174cadb3 100644
    --- a/docs/_build/html/genindex.html
    +++ b/docs/_build/html/genindex.html
    @@ -7,7 +7,7 @@
       
       
       
    -  Index — TreeCorr 4.2.3 documentation
    +  Index — TreeCorr 4.2.5 documentation
       
     
       
    @@ -32,7 +32,6 @@
             
             
             
    -        
         
         
     
    @@ -104,6 +103,7 @@
     
  • Changes from version 4.2.1 to 4.2.2
  • Changes from version 4.2.2 to 4.2.3
  • Changes from version 4.2.3 to 4.2.4
  • +
  • Changes from version 4.2.4 to 4.2.5
  • Previous History
  • diff --git a/docs/_build/html/gg.html b/docs/_build/html/gg.html index 3fa608fb..31acfd2c 100644 --- a/docs/_build/html/gg.html +++ b/docs/_build/html/gg.html @@ -7,7 +7,7 @@ - GGCorrelation: Shear-shear correlations — TreeCorr 4.2.3 documentation + GGCorrelation: Shear-shear correlations — TreeCorr 4.2.5 documentation @@ -114,6 +114,7 @@
  • Changes from version 4.2.1 to 4.2.2
  • Changes from version 4.2.2 to 4.2.3
  • Changes from version 4.2.3 to 4.2.4
  • +
  • Changes from version 4.2.4 to 4.2.5
  • Previous History
  • @@ -188,7 +189,7 @@

    GGCorrelation: Shear-shear correlations

    -class treecorr.GGCorrelation(config=None, logger=None, **kwargs)[source]
    +class treecorr.GGCorrelation(config=None, logger=None, **kwargs)[source]

    Bases: treecorr.binnedcorr2.BinnedCorr2

    This class handles the calculation and storage of a 2-point shear-shear correlation function.

    @@ -270,13 +271,13 @@

    GGCorrelation: Shear-shear correlations
    -__eq__(other)[source]
    +__eq__(other)[source]

    Return whether two GGCorrelation instances are equal

    -__iadd__(other)[source]
    +__iadd__(other)[source]

    Add a second GGCorrelation’s data to this one.

    Note

    @@ -287,19 +288,19 @@

    GGCorrelation: Shear-shear correlations
    -__init__(config=None, logger=None, **kwargs)[source]
    +__init__(config=None, logger=None, **kwargs)[source]

    Initialize GGCorrelation. See class doc for details.

    -__repr__()[source]
    +__repr__()[source]

    Return repr(self).

    -calculateGamSq(R=None, eb=False)[source]
    +calculateGamSq(R=None, eb=False)[source]

    Calculate the tophat shear variance from the correlation function.

    \[ \begin{align}\begin{aligned}\begin{split}\langle \gamma^2 \rangle(R) &= \int_0^{2R} \frac{r dr}{R^2} S_+(s) \xi_+(r) \\ @@ -348,7 +349,7 @@

    GGCorrelation: Shear-shear correlations
    -calculateMapSq(R=None, m2_uform=None)[source]
    +calculateMapSq(R=None, m2_uform=None)[source]

    Calculate the aperture mass statistics from the correlation function.

    \[\begin{split}\langle M_{ap}^2 \rangle(R) &= \int_{0}^{rmax} \frac{r dr}{2R^2} @@ -410,13 +411,13 @@

    GGCorrelation: Shear-shear correlations
    -copy()[source]
    +copy()[source]

    Make a copy

    -finalize(varg1, varg2)[source]
    +finalize(varg1, varg2)[source]

    Finalize the calculation of the correlation function.

    The process_auto and process_cross commands accumulate values in each bin, so they can be called multiple times if appropriate. Afterwards, this command @@ -433,14 +434,14 @@

    GGCorrelation: Shear-shear correlations
    -getStat()[source]
    +getStat()[source]

    The standard statistic for the current correlation object as a 1-d array.

    In this case, this is the concatenation of self.xip and self.xim (raveled if necessary).

    -getWeight()[source]
    +getWeight()[source]

    The weight array for the current correlation object as a 1-d array.

    This is the weight array corresponding to getStat. In this case, the weight is duplicated to account for both xip and xim returned as part of getStat().

    @@ -448,7 +449,7 @@

    GGCorrelation: Shear-shear correlations
    -process(cat1, cat2=None, metric=None, num_threads=None, comm=None, low_mem=False, initialize=True, finalize=True)[source]
    +process(cat1, cat2=None, metric=None, num_threads=None, comm=None, low_mem=False, initialize=True, finalize=True)[source]

    Compute the correlation function.

    • If only 1 argument is given, then compute an auto-correlation function.

    • @@ -484,7 +485,7 @@

      GGCorrelation: Shear-shear correlations
      -process_auto(cat, metric=None, num_threads=None)[source]
      +process_auto(cat, metric=None, num_threads=None)[source]

      Process a single catalog, accumulating the auto-correlation.

      This accumulates the weighted sums into the bins, but does not finalize the calculation by dividing by the total weight at the end. After @@ -507,7 +508,7 @@

      GGCorrelation: Shear-shear correlations
      -process_cross(cat1, cat2, metric=None, num_threads=None)[source]
      +process_cross(cat1, cat2, metric=None, num_threads=None)[source]

      Process a single pair of catalogs, accumulating the cross-correlation.

      This accumulates the weighted sums into the bins, but does not finalize the calculation by dividing by the total weight at the end. After @@ -531,7 +532,7 @@

      GGCorrelation: Shear-shear correlations
      -process_pairwise(cat1, cat2, metric=None, num_threads=None)[source]
      +process_pairwise(cat1, cat2, metric=None, num_threads=None)[source]

      Process a single pair of catalogs, accumulating the cross-correlation, only using the corresponding pairs of objects in each catalog.

      This accumulates the weighted sums into the bins, but does not finalize @@ -563,7 +564,7 @@

      GGCorrelation: Shear-shear correlations
      -read(file_name, file_type=None)[source]
      +read(file_name, file_type=None)[source]

      Read in values from a file.

      This should be a file that was written by TreeCorr, preferably a FITS file, so there is no loss of information.

      @@ -586,7 +587,7 @@

      GGCorrelation: Shear-shear correlations
      -write(file_name, file_type=None, precision=None)[source]
      +write(file_name, file_type=None, precision=None)[source]

      Write the correlation function to the file, file_name.

      The output file will include the following columns:

    @@ -655,7 +656,7 @@

    GGCorrelation: Shear-shear correlations
    -writeMapSq(file_name, R=None, m2_uform=None, file_type=None, precision=None)[source]
    +writeMapSq(file_name, R=None, m2_uform=None, file_type=None, precision=None)[source]

    Write the aperture mass statistics based on the correlation function to the file, file_name.

    See calculateMapSq for an explanation of the m2_uform parameter.

    diff --git a/docs/_build/html/ggg.html b/docs/_build/html/ggg.html index 1fd701b6..d9bc3675 100644 --- a/docs/_build/html/ggg.html +++ b/docs/_build/html/ggg.html @@ -7,7 +7,7 @@ - GGGCorrelation: Shear-shear-shear correlations — TreeCorr 4.2.3 documentation + GGGCorrelation: Shear-shear-shear correlations — TreeCorr 4.2.5 documentation @@ -111,6 +111,7 @@
  • Changes from version 4.2.1 to 4.2.2
  • Changes from version 4.2.2 to 4.2.3
  • Changes from version 4.2.3 to 4.2.4
  • +
  • Changes from version 4.2.4 to 4.2.5
  • Previous History
  • @@ -185,7 +186,7 @@

    GGGCorrelation: Shear-shear-shear correlations

    -class treecorr.GGGCorrelation(config=None, logger=None, **kwargs)[source]
    +class treecorr.GGGCorrelation(config=None, logger=None, **kwargs)[source]

    Bases: treecorr.binnedcorr3.BinnedCorr3

    This class handles the calculation and storage of a 3-point shear-shear-shear correlation function.

    @@ -306,13 +307,13 @@

    GGGCorrelation: Shear-shear-shear correlations
    -__eq__(other)[source]
    +__eq__(other)[source]

    Return whether two GGGCorrelation instances are equal

    -__iadd__(other)[source]
    +__iadd__(other)[source]

    Add a second GGGCorrelation’s data to this one.

    Note

    @@ -323,19 +324,19 @@

    GGGCorrelation: Shear-shear-shear correlations
    -__init__(config=None, logger=None, **kwargs)[source]
    +__init__(config=None, logger=None, **kwargs)[source]

    Initialize GGGCorrelation. See class doc for details.

    -__repr__()[source]
    +__repr__()[source]

    Return repr(self).

    -calculateMap3(R=None, k2=1, k3=1)[source]
    +calculateMap3(R=None, k2=1, k3=1)[source]

    Calculate the skewness of the aperture mass from the correlation function.

    The equations for this come from Jarvis, Bernstein & Jain (2004, MNRAS, 352). See their section 3, especially equations 51 and 52 for the \(T_i\) functions, @@ -404,13 +405,13 @@

    GGGCorrelation: Shear-shear-shear correlations
    -copy()[source]
    +copy()[source]

    Make a copy

    -finalize(varg1, varg2, varg3)[source]
    +finalize(varg1, varg2, varg3)[source]

    Finalize the calculation of the correlation function.

    The process_auto and process_cross commands accumulate values in each bin, so they can be called multiple times if appropriate. Afterwards, this command @@ -428,7 +429,7 @@

    GGGCorrelation: Shear-shear-shear correlations
    -getStat()[source]
    +getStat()[source]

    The standard statistic for the current correlation object as a 1-d array.

    In this case, the concatenation of gam0.ravel(), gam1.ravel(), gam2.ravel(), gam3.ravel().

    @@ -441,14 +442,14 @@

    GGGCorrelation: Shear-shear-shear correlations
    -getWeight()[source]
    +getWeight()[source]

    The weight array for the current correlation object as a 1-d array.

    In this case, 4 copies of self.weight.ravel().

    -process(cat1, cat2=None, cat3=None, metric=None, num_threads=None, comm=None, low_mem=False, initialize=True, finalize=True)[source]
    +process(cat1, cat2=None, cat3=None, metric=None, num_threads=None, comm=None, low_mem=False, initialize=True, finalize=True)[source]

    Compute the 3pt correlation function.

    • If only 1 argument is given, then compute an auto-correlation function.

    • @@ -496,7 +497,7 @@

      GGGCorrelation: Shear-shear-shear correlations
      -process_auto(cat, metric=None, num_threads=None)[source]
      +process_auto(cat, metric=None, num_threads=None)[source]

      Process a single catalog, accumulating the auto-correlation.

      This accumulates the auto-correlation for the given catalog. After calling this function as often as desired, the finalize command will @@ -518,7 +519,7 @@

      GGGCorrelation: Shear-shear-shear correlations
      -process_cross(cat1, cat2, cat3, metric=None, num_threads=None)[source]
      +process_cross(cat1, cat2, cat3, metric=None, num_threads=None)[source]

      Process a set of three catalogs, accumulating the 3pt cross-correlation.

      This accumulates the cross-correlation for the given catalogs as part of a larger auto-correlation calculation. E.g. when splitting up a large catalog into patches, @@ -543,7 +544,7 @@

      GGGCorrelation: Shear-shear-shear correlations
      -process_cross12(cat1, cat2, metric=None, num_threads=None)[source]
      +process_cross12(cat1, cat2, metric=None, num_threads=None)[source]

      Process two catalogs, accumulating the 3pt cross-correlation, where one of the points in each triangle come from the first catalog, and two come from the second.

      This accumulates the cross-correlation for the given catalogs as part of a larger @@ -570,7 +571,7 @@

      GGGCorrelation: Shear-shear-shear correlations
      -read(file_name, file_type=None)[source]
      +read(file_name, file_type=None)[source]

      Read in values from a file.

      This should be a file that was written by TreeCorr, preferably a FITS file, so there is no loss of information.

      @@ -593,7 +594,7 @@

      GGGCorrelation: Shear-shear-shear correlations
      -write(file_name, file_type=None, precision=None)[source]
      +write(file_name, file_type=None, precision=None)[source]

      Write the correlation function to the file, file_name.

      As described in the doc string for GGGCorrelation, we use the “natural components” of the shear 3-point function described by Schneider & Lombardi (2003) using the triangle @@ -714,7 +715,7 @@

      GGGCorrelation: Shear-shear-shear correlations
      -writeMap3(file_name, R=None, file_type=None, precision=None)[source]
      +writeMap3(file_name, R=None, file_type=None, precision=None)[source]

      Write the aperture mass skewness based on the correlation function to the file, file_name.

      The output file will include the following columns:

      @@ -769,7 +770,7 @@

      GGGCorrelation: Shear-shear-shear correlations
      -class treecorr.GGGCrossCorrelation(config=None, logger=None, **kwargs)[source]
      +class treecorr.GGGCrossCorrelation(config=None, logger=None, **kwargs)[source]

      Bases: treecorr.binnedcorr3.BinnedCorr3

      This class handles the calculation a 3-point shear-shear-shear cross-correlation function.

      @@ -789,13 +790,16 @@

      GGGCorrelation: Shear-shear-shear correlationsGGGCorrelation, which in turn hold the information about triangles in each of the relevant configurations. We name these:

      -
      -
      Attribute:

      g1g2g3: Triangles where G1 is opposite d1, G2 is opposite d2, G3 is opposite d3. -g1g3g2: Triangles where G1 is opposite d1, G3 is opposite d2, G2 is opposite d3. -g2g1g3: Triangles where G2 is opposite d1, G1 is opposite d2, G3 is opposite d3. -g2g3g1: Triangles where G2 is opposite d1, G3 is opposite d2, G1 is opposite d3. -g3g1g2: Triangles where G3 is opposite d1, G1 is opposite d2, G2 is opposite d3. -g3g2g1: Triangles where G3 is opposite d1, G2 is opposite d2, G1 is opposite d3.

      +
      +
      Attributes
      +
        +
      • g1g2g3 – Triangles where G1 is opposite d1, G2 is opposite d2, G3 is opposite d3.

      • +
      • g1g3g2 – Triangles where G1 is opposite d1, G3 is opposite d2, G2 is opposite d3.

      • +
      • g2g1g3 – Triangles where G2 is opposite d1, G1 is opposite d2, G3 is opposite d3.

      • +
      • g2g3g1 – Triangles where G2 is opposite d1, G3 is opposite d2, G1 is opposite d3.

      • +
      • g3g1g2 – Triangles where G3 is opposite d1, G1 is opposite d2, G2 is opposite d3.

      • +
      • g3g2g1 – Triangles where G3 is opposite d1, G2 is opposite d2, G1 is opposite d3.

      • +

      If for instance G2 and G3 are the same field, then e.g. g1g2g3 and g1g3g2 will have @@ -848,13 +852,13 @@

      GGGCorrelation: Shear-shear-shear correlations
      -__eq__(other)[source]
      +__eq__(other)[source]

      Return whether two GGGCrossCorrelation instances are equal

      -__iadd__(other)[source]
      +__iadd__(other)[source]

      Add a second GGGCrossCorrelation’s data to this one.

      Note

      @@ -866,25 +870,25 @@

      GGGCorrelation: Shear-shear-shear correlations
      -__init__(config=None, logger=None, **kwargs)[source]
      +__init__(config=None, logger=None, **kwargs)[source]

      Initialize GGGCrossCorrelation. See class doc for details.

      -__repr__()[source]
      +__repr__()[source]

      Return repr(self).

      -copy()[source]
      +copy()[source]

      Make a copy

      -finalize(varg1, varg2, varg3)[source]
      +finalize(varg1, varg2, varg3)[source]

      Finalize the calculation of the correlation function.

      The process_cross command accumulate values in each bin, so they can be called multiple times if appropriate. Afterwards, this command finishes the calculation @@ -902,7 +906,7 @@

      GGGCorrelation: Shear-shear-shear correlations
      -getStat()[source]
      +getStat()[source]

      The standard statistic for the current correlation object as a 1-d array.

      In this case, the concatenation of zeta.ravel() for each combination in the following order: g1g2g3, g1g3g2, g2g1g3, g2g3g1, g3g1g2, g3g2g1.

      @@ -910,7 +914,7 @@

      GGGCorrelation: Shear-shear-shear correlations
      -getWeight()[source]
      +getWeight()[source]

      The weight array for the current correlation object as a 1-d array.

      In this case, the concatenation of getWeight() for each combination in the following order: g1g2g3, g1g3g2, g2g1g3, g2g3g1, g3g1g2, g3g2g1.

      @@ -918,13 +922,13 @@

      GGGCorrelation: Shear-shear-shear correlations
      -property nonzero
      +property nonzero

      Return if there are any values accumulated yet. (i.e. ntri > 0)

      -process(cat1, cat2, cat3=None, metric=None, num_threads=None, comm=None, low_mem=False, initialize=True, finalize=True)[source]
      +process(cat1, cat2, cat3=None, metric=None, num_threads=None, comm=None, low_mem=False, initialize=True, finalize=True)[source]

      Accumulate the cross-correlation of the points in the given Catalogs: cat1, cat2, cat3.

      diff --git a/docs/_build/html/history.html b/docs/_build/html/history.html index 848932c4..0f6e5e6b 100644 --- a/docs/_build/html/history.html +++ b/docs/_build/html/history.html @@ -7,7 +7,7 @@ - Previous History — TreeCorr 4.2.3 documentation + Previous History — TreeCorr 4.2.5 documentation @@ -32,7 +32,6 @@ - @@ -105,6 +104,7 @@
    • Changes from version 4.2.1 to 4.2.2
    • Changes from version 4.2.2 to 4.2.3
    • Changes from version 4.2.3 to 4.2.4
    • +
    • Changes from version 4.2.4 to 4.2.5
    • Previous History
    diff --git a/docs/_build/html/index.html b/docs/_build/html/index.html index 06a72ed8..f51f74c9 100644 --- a/docs/_build/html/index.html +++ b/docs/_build/html/index.html @@ -7,7 +7,7 @@ - TreeCorr Documentation — TreeCorr 4.2.3 documentation + TreeCorr Documentation — TreeCorr 4.2.5 documentation @@ -32,7 +32,6 @@ - @@ -105,6 +104,7 @@
  • Changes from version 4.2.1 to 4.2.2
  • Changes from version 4.2.2 to 4.2.3
  • Changes from version 4.2.3 to 4.2.4
  • +
  • Changes from version 4.2.4 to 4.2.5
  • Previous History
  • @@ -301,6 +301,7 @@

    TreeCorr DocumentationChanges from version 4.2.1 to 4.2.2
  • Changes from version 4.2.2 to 4.2.3
  • Changes from version 4.2.3 to 4.2.4
  • +
  • Changes from version 4.2.4 to 4.2.5
  • Previous History
  • diff --git a/docs/_build/html/kg.html b/docs/_build/html/kg.html index de187368..169c4887 100644 --- a/docs/_build/html/kg.html +++ b/docs/_build/html/kg.html @@ -7,7 +7,7 @@ - KGCorrelation: Kappa-shear correlations — TreeCorr 4.2.3 documentation + KGCorrelation: Kappa-shear correlations — TreeCorr 4.2.5 documentation @@ -114,6 +114,7 @@
  • Changes from version 4.2.1 to 4.2.2
  • Changes from version 4.2.2 to 4.2.3
  • Changes from version 4.2.3 to 4.2.4
  • +
  • Changes from version 4.2.4 to 4.2.5
  • Previous History
  • @@ -188,7 +189,7 @@

    KGCorrelation: Kappa-shear correlations

    -class treecorr.KGCorrelation(config=None, logger=None, **kwargs)[source]
    +class treecorr.KGCorrelation(config=None, logger=None, **kwargs)[source]

    Bases: treecorr.binnedcorr2.BinnedCorr2

    This class handles the calculation and storage of a 2-point kappa-shear correlation function.

    @@ -271,13 +272,13 @@

    KGCorrelation: Kappa-shear correlations
    -__eq__(other)[source]
    +__eq__(other)[source]

    Return whether two KGCorrelation instances are equal

    -__iadd__(other)[source]
    +__iadd__(other)[source]

    Add a second KGCorrelation’s data to this one.

    Note

    @@ -288,25 +289,25 @@

    KGCorrelation: Kappa-shear correlations
    -__init__(config=None, logger=None, **kwargs)[source]
    +__init__(config=None, logger=None, **kwargs)[source]

    Initialize KGCorrelation. See class doc for details.

    -__repr__()[source]
    +__repr__()[source]

    Return repr(self).

    -copy()[source]
    +copy()[source]

    Make a copy

    -finalize(vark, varg)[source]
    +finalize(vark, varg)[source]

    Finalize the calculation of the correlation function.

    The process_cross command accumulates values in each bin, so it can be called multiple times if appropriate. Afterwards, this command finishes the calculation @@ -323,7 +324,7 @@

    KGCorrelation: Kappa-shear correlations
    -process(cat1, cat2, metric=None, num_threads=None, comm=None, low_mem=False, initialize=True, finalize=True)[source]
    +process(cat1, cat2, metric=None, num_threads=None, comm=None, low_mem=False, initialize=True, finalize=True)[source]

    Compute the correlation function.

    Both arguments may be lists, in which case all items in the list are used for that element of the correlation.

    @@ -354,7 +355,7 @@

    KGCorrelation: Kappa-shear correlations
    -process_cross(cat1, cat2, metric=None, num_threads=None)[source]
    +process_cross(cat1, cat2, metric=None, num_threads=None)[source]

    Process a single pair of catalogs, accumulating the cross-correlation.

    This accumulates the weighted sums into the bins, but does not finalize the calculation by dividing by the total weight at the end. After @@ -378,7 +379,7 @@

    KGCorrelation: Kappa-shear correlations
    -process_pairwise(cat1, cat2, metric=None, num_threads=None)[source]
    +process_pairwise(cat1, cat2, metric=None, num_threads=None)[source]

    Process a single pair of catalogs, accumulating the cross-correlation, only using the corresponding pairs of objects in each catalog.

    This accumulates the weighted sums into the bins, but does not finalize @@ -410,7 +411,7 @@

    KGCorrelation: Kappa-shear correlations
    -read(file_name, file_type=None)[source]
    +read(file_name, file_type=None)[source]

    Read in values from a file.

    This should be a file that was written by TreeCorr, preferably a FITS file, so there is no loss of information.

    @@ -433,7 +434,7 @@

    KGCorrelation: Kappa-shear correlations
    -write(file_name, file_type=None, precision=None)[source]
    +write(file_name, file_type=None, precision=None)[source]

    Write the correlation function to the file, file_name.

    The output file will include the following columns:

    diff --git a/docs/_build/html/kk.html b/docs/_build/html/kk.html index c96347f2..e7fec4f0 100644 --- a/docs/_build/html/kk.html +++ b/docs/_build/html/kk.html @@ -7,7 +7,7 @@ - KKCorrelation: Kappa-kappa correlations — TreeCorr 4.2.3 documentation + KKCorrelation: Kappa-kappa correlations — TreeCorr 4.2.5 documentation @@ -114,6 +114,7 @@
  • Changes from version 4.2.1 to 4.2.2
  • Changes from version 4.2.2 to 4.2.3
  • Changes from version 4.2.3 to 4.2.4
  • +
  • Changes from version 4.2.4 to 4.2.5
  • Previous History
  • @@ -188,7 +189,7 @@

    KKCorrelation: Kappa-kappa correlations

    -class treecorr.KKCorrelation(config=None, logger=None, **kwargs)[source]
    +class treecorr.KKCorrelation(config=None, logger=None, **kwargs)[source]

    Bases: treecorr.binnedcorr2.BinnedCorr2

    This class handles the calculation and storage of a 2-point kappa-kappa correlation function.

    @@ -271,13 +272,13 @@

    KKCorrelation: Kappa-kappa correlations
    -__eq__(other)[source]
    +__eq__(other)[source]

    Return whether two KKCorrelation instances are equal

    -__iadd__(other)[source]
    +__iadd__(other)[source]

    Add a second KKCorrelation’s data to this one.

    Note

    @@ -288,25 +289,25 @@

    KKCorrelation: Kappa-kappa correlations
    -__init__(config=None, logger=None, **kwargs)[source]
    +__init__(config=None, logger=None, **kwargs)[source]

    Initialize KKCorrelation. See class doc for details.

    -__repr__()[source]
    +__repr__()[source]

    Return repr(self).

    -copy()[source]
    +copy()[source]

    Make a copy

    -finalize(vark1, vark2)[source]
    +finalize(vark1, vark2)[source]

    Finalize the calculation of the correlation function.

    The process_auto and process_cross commands accumulate values in each bin, so they can be called multiple times if appropriate. Afterwards, this command @@ -323,7 +324,7 @@

    KKCorrelation: Kappa-kappa correlations
    -process(cat1, cat2=None, metric=None, num_threads=None, comm=None, low_mem=False, initialize=True, finalize=True)[source]
    +process(cat1, cat2=None, metric=None, num_threads=None, comm=None, low_mem=False, initialize=True, finalize=True)[source]

    Compute the correlation function.

    • If only 1 argument is given, then compute an auto-correlation function.

    • @@ -359,7 +360,7 @@

      KKCorrelation: Kappa-kappa correlations
      -process_auto(cat, metric=None, num_threads=None)[source]
      +process_auto(cat, metric=None, num_threads=None)[source]

      Process a single catalog, accumulating the auto-correlation.

      This accumulates the weighted sums into the bins, but does not finalize the calculation by dividing by the total weight at the end. After @@ -382,7 +383,7 @@

      KKCorrelation: Kappa-kappa correlations
      -process_cross(cat1, cat2, metric=None, num_threads=None)[source]
      +process_cross(cat1, cat2, metric=None, num_threads=None)[source]

      Process a single pair of catalogs, accumulating the cross-correlation.

      This accumulates the weighted sums into the bins, but does not finalize the calculation by dividing by the total weight at the end. After @@ -406,7 +407,7 @@

      KKCorrelation: Kappa-kappa correlations
      -process_pairwise(cat1, cat2, metric=None, num_threads=None)[source]
      +process_pairwise(cat1, cat2, metric=None, num_threads=None)[source]

      Process a single pair of catalogs, accumulating the cross-correlation, only using the corresponding pairs of objects in each catalog.

      This accumulates the weighted sums into the bins, but does not finalize @@ -438,7 +439,7 @@

      KKCorrelation: Kappa-kappa correlations
      -read(file_name, file_type=None)[source]
      +read(file_name, file_type=None)[source]

      Read in values from a file.

      This should be a file that was written by TreeCorr, preferably a FITS file, so there is no loss of information.

      @@ -461,7 +462,7 @@

      KKCorrelation: Kappa-kappa correlations
      -write(file_name, file_type=None, precision=None)[source]
      +write(file_name, file_type=None, precision=None)[source]

      Write the correlation function to the file, file_name.

      The output file will include the following columns:

    diff --git a/docs/_build/html/kkk.html b/docs/_build/html/kkk.html index 5ccb5f3c..888c4352 100644 --- a/docs/_build/html/kkk.html +++ b/docs/_build/html/kkk.html @@ -7,7 +7,7 @@ - KKKCorrelation: Kappa-kappa-kappa correlations — TreeCorr 4.2.3 documentation + KKKCorrelation: Kappa-kappa-kappa correlations — TreeCorr 4.2.5 documentation @@ -111,6 +111,7 @@
  • Changes from version 4.2.1 to 4.2.2
  • Changes from version 4.2.2 to 4.2.3
  • Changes from version 4.2.3 to 4.2.4
  • +
  • Changes from version 4.2.4 to 4.2.5
  • Previous History
  • @@ -185,7 +186,7 @@

    KKKCorrelation: Kappa-kappa-kappa correlations

    -class treecorr.KKKCorrelation(config=None, logger=None, **kwargs)[source]
    +class treecorr.KKKCorrelation(config=None, logger=None, **kwargs)[source]

    Bases: treecorr.binnedcorr3.BinnedCorr3

    This class handles the calculation and storage of a 3-point kappa-kappa-kappa correlation function.

    @@ -279,13 +280,13 @@

    KKKCorrelation: Kappa-kappa-kappa correlations
    -__eq__(other)[source]
    +__eq__(other)[source]

    Return whether two KKKCorrelation instances are equal

    -__iadd__(other)[source]
    +__iadd__(other)[source]

    Add a second KKKCorrelation’s data to this one.

    Note

    @@ -296,25 +297,25 @@

    KKKCorrelation: Kappa-kappa-kappa correlations
    -__init__(config=None, logger=None, **kwargs)[source]
    +__init__(config=None, logger=None, **kwargs)[source]

    Initialize KKKCorrelation. See class doc for details.

    -__repr__()[source]
    +__repr__()[source]

    Return repr(self).

    -copy()[source]
    +copy()[source]

    Make a copy

    -finalize(vark1, vark2, vark3)[source]
    +finalize(vark1, vark2, vark3)[source]

    Finalize the calculation of the correlation function.

    The process_auto and process_cross commands accumulate values in each bin, so they can be called multiple times if appropriate. Afterwards, this command @@ -332,7 +333,7 @@

    KKKCorrelation: Kappa-kappa-kappa correlations
    -process(cat1, cat2=None, cat3=None, metric=None, num_threads=None, comm=None, low_mem=False, initialize=True, finalize=True)[source]
    +process(cat1, cat2=None, cat3=None, metric=None, num_threads=None, comm=None, low_mem=False, initialize=True, finalize=True)[source]

    Compute the 3pt correlation function.

    • If only 1 argument is given, then compute an auto-correlation function.

    • @@ -380,7 +381,7 @@

      KKKCorrelation: Kappa-kappa-kappa correlations
      -process_auto(cat, metric=None, num_threads=None)[source]
      +process_auto(cat, metric=None, num_threads=None)[source]

      Process a single catalog, accumulating the auto-correlation.

      This accumulates the auto-correlation for the given catalog. After calling this function as often as desired, the finalize command will @@ -402,7 +403,7 @@

      KKKCorrelation: Kappa-kappa-kappa correlations
      -process_cross(cat1, cat2, cat3, metric=None, num_threads=None)[source]
      +process_cross(cat1, cat2, cat3, metric=None, num_threads=None)[source]

      Process a set of three catalogs, accumulating the 3pt cross-correlation.

      This accumulates the cross-correlation for the given catalogs as part of a larger auto-correlation calculation. E.g. when splitting up a large catalog into patches, @@ -427,7 +428,7 @@

      KKKCorrelation: Kappa-kappa-kappa correlations
      -process_cross12(cat1, cat2, metric=None, num_threads=None)[source]
      +process_cross12(cat1, cat2, metric=None, num_threads=None)[source]

      Process two catalogs, accumulating the 3pt cross-correlation, where one of the points in each triangle come from the first catalog, and two come from the second.

      This accumulates the cross-correlation for the given catalogs as part of a larger @@ -454,7 +455,7 @@

      KKKCorrelation: Kappa-kappa-kappa correlations
      -read(file_name, file_type=None)[source]
      +read(file_name, file_type=None)[source]

      Read in values from a file.

      This should be a file that was written by TreeCorr, preferably a FITS file, so there is no loss of information.

      @@ -477,7 +478,7 @@

      KKKCorrelation: Kappa-kappa-kappa correlations
      -write(file_name, file_type=None, precision=None)[source]
      +write(file_name, file_type=None, precision=None)[source]

      Write the correlation function to the file, file_name.

      The output file will include the following columns:

    @@ -566,7 +567,7 @@

    KKKCorrelation: Kappa-kappa-kappa correlations
    -class treecorr.KKKCrossCorrelation(config=None, logger=None, **kwargs)[source]
    +class treecorr.KKKCrossCorrelation(config=None, logger=None, **kwargs)[source]

    Bases: treecorr.binnedcorr3.BinnedCorr3

    This class handles the calculation a 3-point kappa-kappa-kappa cross-correlation function.

    @@ -586,13 +587,16 @@

    KKKCorrelation: Kappa-kappa-kappa correlationsKKKCorrelation, which in turn hold the information about triangles in each of the relevant configurations. We name these:

    -
    -
    Attribute:

    k1k2k3: Triangles where K1 is opposite d1, K2 is opposite d2, K3 is opposite d3. -k1k3k2: Triangles where K1 is opposite d1, K3 is opposite d2, K2 is opposite d3. -k2k1k3: Triangles where K2 is opposite d1, K1 is opposite d2, K3 is opposite d3. -k2k3k1: Triangles where K2 is opposite d1, K3 is opposite d2, K1 is opposite d3. -k3k1k2: Triangles where K3 is opposite d1, K1 is opposite d2, K2 is opposite d3. -k3k2k1: Triangles where K3 is opposite d1, K2 is opposite d2, K1 is opposite d3.

    +
    +
    Attributes
    +
      +
    • k1k2k3 – Triangles where K1 is opposite d1, K2 is opposite d2, K3 is opposite d3.

    • +
    • k1k3k2 – Triangles where K1 is opposite d1, K3 is opposite d2, K2 is opposite d3.

    • +
    • k2k1k3 – Triangles where K2 is opposite d1, K1 is opposite d2, K3 is opposite d3.

    • +
    • k2k3k1 – Triangles where K2 is opposite d1, K3 is opposite d2, K1 is opposite d3.

    • +
    • k3k1k2 – Triangles where K3 is opposite d1, K1 is opposite d2, K2 is opposite d3.

    • +
    • k3k2k1 – Triangles where K3 is opposite d1, K2 is opposite d2, K1 is opposite d3.

    • +

    If for instance K2 and K3 are the same field, then e.g. k1k2k3 and k1k3k2 will have @@ -645,13 +649,13 @@

    KKKCorrelation: Kappa-kappa-kappa correlations
    -__eq__(other)[source]
    +__eq__(other)[source]

    Return whether two KKKCrossCorrelation instances are equal

    -__iadd__(other)[source]
    +__iadd__(other)[source]

    Add a second KKKCrossCorrelation’s data to this one.

    Note

    @@ -663,25 +667,25 @@

    KKKCorrelation: Kappa-kappa-kappa correlations
    -__init__(config=None, logger=None, **kwargs)[source]
    +__init__(config=None, logger=None, **kwargs)[source]

    Initialize KKKCrossCorrelation. See class doc for details.

    -__repr__()[source]
    +__repr__()[source]

    Return repr(self).

    -copy()[source]
    +copy()[source]

    Make a copy

    -finalize(vark1, vark2, vark3)[source]
    +finalize(vark1, vark2, vark3)[source]

    Finalize the calculation of the correlation function.

    The process_cross command accumulate values in each bin, so they can be called multiple times if appropriate. Afterwards, this command finishes the calculation @@ -699,7 +703,7 @@

    KKKCorrelation: Kappa-kappa-kappa correlations
    -getStat()[source]
    +getStat()[source]

    The standard statistic for the current correlation object as a 1-d array.

    In this case, the concatenation of zeta.ravel() for each combination in the following order: k1k2k3, k1k3k2, k2k1k3, k2k3k1, k3k1k2, k3k2k1.

    @@ -707,7 +711,7 @@

    KKKCorrelation: Kappa-kappa-kappa correlations
    -getWeight()[source]
    +getWeight()[source]

    The weight array for the current correlation object as a 1-d array.

    In this case, the concatenation of getWeight() for each combination in the following order: k1k2k3, k1k3k2, k2k1k3, k2k3k1, k3k1k2, k3k2k1.

    @@ -715,13 +719,13 @@

    KKKCorrelation: Kappa-kappa-kappa correlations
    -property nonzero
    +property nonzero

    Return if there are any values accumulated yet. (i.e. ntri > 0)

    -process(cat1, cat2, cat3=None, metric=None, num_threads=None, comm=None, low_mem=False, initialize=True, finalize=True)[source]
    +process(cat1, cat2, cat3=None, metric=None, num_threads=None, comm=None, low_mem=False, initialize=True, finalize=True)[source]

    Accumulate the cross-correlation of the points in the given Catalogs: cat1, cat2, cat3.

    diff --git a/docs/_build/html/ng.html b/docs/_build/html/ng.html index d95db502..e0cc7161 100644 --- a/docs/_build/html/ng.html +++ b/docs/_build/html/ng.html @@ -7,7 +7,7 @@ - NGCorrelation: Count-shear correlations — TreeCorr 4.2.3 documentation + NGCorrelation: Count-shear correlations — TreeCorr 4.2.5 documentation @@ -114,6 +114,7 @@
  • Changes from version 4.2.1 to 4.2.2
  • Changes from version 4.2.2 to 4.2.3
  • Changes from version 4.2.3 to 4.2.4
  • +
  • Changes from version 4.2.4 to 4.2.5
  • Previous History
  • @@ -188,7 +189,7 @@

    NGCorrelation: Count-shear correlations

    -class treecorr.NGCorrelation(config=None, logger=None, **kwargs)[source]
    +class treecorr.NGCorrelation(config=None, logger=None, **kwargs)[source]

    Bases: treecorr.binnedcorr2.BinnedCorr2

    This class handles the calculation and storage of a 2-point count-shear correlation function. This is the tangential shear profile around lenses, commonly referred to as @@ -269,13 +270,13 @@

    NGCorrelation: Count-shear correlations
    -__eq__(other)[source]
    +__eq__(other)[source]

    Return whether two NGCorrelation instances are equal

    -__iadd__(other)[source]
    +__iadd__(other)[source]

    Add a second NGCorrelation’s data to this one.

    Note

    @@ -286,19 +287,19 @@

    NGCorrelation: Count-shear correlations
    -__init__(config=None, logger=None, **kwargs)[source]
    +__init__(config=None, logger=None, **kwargs)[source]

    Initialize NGCorrelation. See class doc for details.

    -__repr__()[source]
    +__repr__()[source]

    Return repr(self).

    -calculateNMap(R=None, rg=None, m2_uform=None)[source]
    +calculateNMap(R=None, rg=None, m2_uform=None)[source]

    Calculate the aperture mass statistics from the correlation function.

    \[\begin{split}\langle N M_{ap} \rangle(R) &= \int_{0}^{rmax} \frac{r dr}{R^2} @@ -348,7 +349,7 @@

    NGCorrelation: Count-shear correlations
    -calculateXi(rg=None)[source]
    +calculateXi(rg=None)[source]

    Calculate the correlation function possibly given another correlation function that uses random points for the foreground objects.

    -finalize(varg)[source]
    +finalize(varg)[source]

    Finalize the calculation of the correlation function.

    The process_cross command accumulates values in each bin, so it can be called multiple times if appropriate. Afterwards, this command finishes the calculation @@ -402,7 +403,7 @@

    NGCorrelation: Count-shear correlations
    -process(cat1, cat2, metric=None, num_threads=None, comm=None, low_mem=False, initialize=True, finalize=True)[source]
    +process(cat1, cat2, metric=None, num_threads=None, comm=None, low_mem=False, initialize=True, finalize=True)[source]

    Compute the correlation function.

    Both arguments may be lists, in which case all items in the list are used for that element of the correlation.

    @@ -433,7 +434,7 @@

    NGCorrelation: Count-shear correlations
    -process_cross(cat1, cat2, metric=None, num_threads=None)[source]
    +process_cross(cat1, cat2, metric=None, num_threads=None)[source]

    Process a single pair of catalogs, accumulating the cross-correlation.

    This accumulates the weighted sums into the bins, but does not finalize the calculation by dividing by the total weight at the end. After @@ -457,7 +458,7 @@

    NGCorrelation: Count-shear correlations
    -process_pairwise(cat1, cat2, metric=None, num_threads=None)[source]
    +process_pairwise(cat1, cat2, metric=None, num_threads=None)[source]

    Process a single pair of catalogs, accumulating the cross-correlation, only using the corresponding pairs of objects in each catalog.

    This accumulates the weighted sums into the bins, but does not finalize @@ -489,7 +490,7 @@

    NGCorrelation: Count-shear correlations
    -read(file_name, file_type=None)[source]
    +read(file_name, file_type=None)[source]

    Read in values from a file.

    This should be a file that was written by TreeCorr, preferably a FITS file, so there is no loss of information.

    @@ -512,7 +513,7 @@

    NGCorrelation: Count-shear correlations
    -write(file_name, rg=None, file_type=None, precision=None)[source]
    +write(file_name, rg=None, file_type=None, precision=None)[source]

    Write the correlation function to the file, file_name.

    @@ -188,7 +189,7 @@

    NKCorrelation: Count-kappa correlations

    -class treecorr.NKCorrelation(config=None, logger=None, **kwargs)[source]
    +class treecorr.NKCorrelation(config=None, logger=None, **kwargs)[source]

    Bases: treecorr.binnedcorr2.BinnedCorr2

    This class handles the calculation and storage of a 2-point count-kappa correlation function.

    @@ -273,13 +274,13 @@

    NKCorrelation: Count-kappa correlations
    -__eq__(other)[source]
    +__eq__(other)[source]

    Return whether two NKCorrelation instances are equal

    -__iadd__(other)[source]
    +__iadd__(other)[source]

    Add a second NKCorrelation’s data to this one.

    Note

    @@ -290,19 +291,19 @@

    NKCorrelation: Count-kappa correlations
    -__init__(config=None, logger=None, **kwargs)[source]
    +__init__(config=None, logger=None, **kwargs)[source]

    Initialize NKCorrelation. See class doc for details.

    -__repr__()[source]
    +__repr__()[source]

    Return repr(self).

    -calculateXi(rk=None)[source]
    +calculateXi(rk=None)[source]

    Calculate the correlation function possibly given another correlation function that uses random points for the foreground objects.

    -finalize(vark)[source]
    +finalize(vark)[source]

    Finalize the calculation of the correlation function.

    The process_cross command accumulates values in each bin, so it can be called multiple times if appropriate. Afterwards, this command finishes the calculation @@ -355,7 +356,7 @@

    NKCorrelation: Count-kappa correlations
    -process(cat1, cat2, metric=None, num_threads=None, comm=None, low_mem=False, initialize=True, finalize=True)[source]
    +process(cat1, cat2, metric=None, num_threads=None, comm=None, low_mem=False, initialize=True, finalize=True)[source]

    Compute the correlation function.

    Both arguments may be lists, in which case all items in the list are used for that element of the correlation.

    @@ -386,7 +387,7 @@

    NKCorrelation: Count-kappa correlations
    -process_cross(cat1, cat2, metric=None, num_threads=None)[source]
    +process_cross(cat1, cat2, metric=None, num_threads=None)[source]

    Process a single pair of catalogs, accumulating the cross-correlation.

    This accumulates the weighted sums into the bins, but does not finalize the calculation by dividing by the total weight at the end. After @@ -410,7 +411,7 @@

    NKCorrelation: Count-kappa correlations
    -process_pairwise(cat1, cat2, metric=None, num_threads=None)[source]
    +process_pairwise(cat1, cat2, metric=None, num_threads=None)[source]

    Process a single pair of catalogs, accumulating the cross-correlation, only using the corresponding pairs of objects in each catalog.

    This accumulates the weighted sums into the bins, but does not finalize @@ -442,7 +443,7 @@

    NKCorrelation: Count-kappa correlations
    -read(file_name, file_type=None)[source]
    +read(file_name, file_type=None)[source]

    Read in values from a file.

    This should be a file that was written by TreeCorr, preferably a FITS file, so there is no loss of information.

    @@ -465,7 +466,7 @@

    NKCorrelation: Count-kappa correlations
    -write(file_name, rk=None, file_type=None, precision=None)[source]
    +write(file_name, rk=None, file_type=None, precision=None)[source]

    Write the correlation function to the file, file_name.

    @@ -188,7 +189,7 @@

    NNCorrelation: Count-count correlations

    -class treecorr.NNCorrelation(config=None, logger=None, **kwargs)[source]
    +class treecorr.NNCorrelation(config=None, logger=None, **kwargs)[source]

    Bases: treecorr.binnedcorr2.BinnedCorr2

    This class handles the calculation and storage of a 2-point count-count correlation function. i.e. the regular density correlation function.

    @@ -268,13 +269,13 @@

    NNCorrelation: Count-count correlations
    -__eq__(other)[source]
    +__eq__(other)[source]

    Return whether two NNCorrelation instances are equal

    -__iadd__(other)[source]
    +__iadd__(other)[source]

    Add a second NNCorrelation’s data to this one.

    Note

    @@ -285,19 +286,19 @@

    NNCorrelation: Count-count correlations
    -__init__(config=None, logger=None, **kwargs)[source]
    +__init__(config=None, logger=None, **kwargs)[source]

    Initialize NNCorrelation. See class doc for details.

    -__repr__()[source]
    +__repr__()[source]

    Return repr(self).

    -calculateNapSq(rr, R=None, dr=None, rd=None, m2_uform=None)[source]
    +calculateNapSq(rr, R=None, dr=None, rd=None, m2_uform=None)[source]

    Calculate the corrollary to the aperture mass statistics for counts.

    \[\begin{split}\langle N_{ap}^2 \rangle(R) &= \int_{0}^{rmax} \frac{r dr}{2R^2} @@ -348,7 +349,7 @@

    NNCorrelation: Count-count correlations
    -calculateXi(rr, dr=None, rd=None)[source]
    +calculateXi(rr, dr=None, rd=None)[source]

    Calculate the correlation function given another correlation function of random points using the same mask, and possibly cross correlations of the data and random.

    The rr value is the NNCorrelation function for random points. @@ -397,13 +398,13 @@

    NNCorrelation: Count-count correlations
    -copy()[source]
    +copy()[source]

    Make a copy

    -finalize()[source]
    +finalize()[source]

    Finalize the calculation of the correlation function.

    The process_auto and process_cross commands accumulate values in each bin, so they can be called multiple times if appropriate. Afterwards, this command @@ -412,14 +413,14 @@

    NNCorrelation: Count-count correlations
    -getStat()[source]
    +getStat()[source]

    The standard statistic for the current correlation object as a 1-d array.

    This raises a RuntimeError if calculateXi has not been run yet.

    -getWeight()[source]
    +getWeight()[source]

    The weight array for the current correlation object as a 1-d array.

    This is the weight array corresponding to getStat. In this case, it is the denominator RR from the calculation done by calculateXi().

    @@ -427,7 +428,7 @@

    NNCorrelation: Count-count correlations
    -process(cat1, cat2=None, metric=None, num_threads=None, comm=None, low_mem=False, initialize=True, finalize=True)[source]
    +process(cat1, cat2=None, metric=None, num_threads=None, comm=None, low_mem=False, initialize=True, finalize=True)[source]

    Compute the correlation function.

    @@ -185,7 +186,7 @@

    NNNCorrelation: Count-count-count correlations

    -class treecorr.NNNCorrelation(config=None, logger=None, **kwargs)[source]
    +class treecorr.NNNCorrelation(config=None, logger=None, **kwargs)[source]

    Bases: treecorr.binnedcorr3.BinnedCorr3

    This class handles the calculation and storage of a 2-point count-count correlation function. i.e. the regular density correlation function.

    @@ -273,13 +274,13 @@

    NNNCorrelation: Count-count-count correlations
    -__eq__(other)[source]
    +__eq__(other)[source]

    Return whether two NNNCorrelation instances are equal

    -__iadd__(other)[source]
    +__iadd__(other)[source]

    Add a second NNNCorrelation’s data to this one.

    Note

    @@ -290,19 +291,19 @@

    NNNCorrelation: Count-count-count correlations
    -__init__(config=None, logger=None, **kwargs)[source]
    +__init__(config=None, logger=None, **kwargs)[source]

    Initialize NNNCorrelation. See class doc for details.

    -__repr__()[source]
    +__repr__()[source]

    Return repr(self).

    -calculateZeta(rrr, drr=None, rdd=None)[source]
    +calculateZeta(rrr, drr=None, rdd=None)[source]

    Calculate the 3pt function given another 3pt function of random points using the same mask, and possibly cross correlations of the data and random.

    There are two possible formulae that are currently supported.

    @@ -365,13 +366,13 @@

    NNNCorrelation: Count-count-count correlations
    -copy()[source]
    +copy()[source]

    Make a copy

    -finalize()[source]
    +finalize()[source]

    Finalize the calculation of meand1, meanlogd1, etc.

    The process_auto and process_cross commands accumulate values in each bin, so they can be called multiple times if appropriate. Afterwards, this command @@ -380,14 +381,14 @@

    NNNCorrelation: Count-count-count correlations
    -getStat()[source]
    +getStat()[source]

    The standard statistic for the current correlation object as a 1-d array.

    This raises a RuntimeError if calculateZeta has not been run yet.

    -getWeight()[source]
    +getWeight()[source]

    The weight array for the current correlation object as a 1-d array.

    This is the weight array corresponding to getStat. In this case, it is the denominator RRR from the calculation done by calculateZeta().

    @@ -395,7 +396,7 @@

    NNNCorrelation: Count-count-count correlations
    -process(cat1, cat2=None, cat3=None, metric=None, num_threads=None, comm=None, low_mem=False, initialize=True, finalize=True)[source]
    +process(cat1, cat2=None, cat3=None, metric=None, num_threads=None, comm=None, low_mem=False, initialize=True, finalize=True)[source]

    Accumulate the 3pt correlation of the points in the given Catalog(s).

    • If only 1 argument is given, then compute an auto-correlation function.

    • @@ -443,7 +444,7 @@

      NNNCorrelation: Count-count-count correlations
      -process_auto(cat, metric=None, num_threads=None)[source]
      +process_auto(cat, metric=None, num_threads=None)[source]

      Process a single catalog, accumulating the auto-correlation.

      This accumulates the auto-correlation for the given catalog. After calling this function as often as desired, the finalize command will @@ -465,7 +466,7 @@

      NNNCorrelation: Count-count-count correlations
      -process_cross(cat1, cat2, cat3, metric=None, num_threads=None)[source]
      +process_cross(cat1, cat2, cat3, metric=None, num_threads=None)[source]

      Process a set of three catalogs, accumulating the 3pt cross-correlation.

      This accumulates the cross-correlation for the given catalogs as part of a larger auto-correlation calculation. E.g. when splitting up a large catalog into patches, @@ -490,7 +491,7 @@

      NNNCorrelation: Count-count-count correlations
      -process_cross12(cat1, cat2, metric=None, num_threads=None)[source]
      +process_cross12(cat1, cat2, metric=None, num_threads=None)[source]

      Process two catalogs, accumulating the 3pt cross-correlation, where one of the points in each triangle come from the first catalog, and two come from the second.

      This accumulates the cross-correlation for the given catalogs as part of a larger @@ -517,7 +518,7 @@

      NNNCorrelation: Count-count-count correlations
      -read(file_name, file_type=None)[source]
      +read(file_name, file_type=None)[source]

      Read in values from a file.

      This should be a file that was written by TreeCorr, preferably a FITS file, so there is no loss of information.

      @@ -540,7 +541,7 @@

      NNNCorrelation: Count-count-count correlations
      -write(file_name, rrr=None, drr=None, rdd=None, file_type=None, precision=None)[source]
      +write(file_name, rrr=None, drr=None, rdd=None, file_type=None, precision=None)[source]

      Write the correlation function to the file, file_name.

      Normally, at least rrr should be provided, but if this is None, then only the basic accumulated number of triangles are output (along with the columns parametrizing @@ -666,7 +667,7 @@

      NNNCorrelation: Count-count-count correlations
      -class treecorr.NNNCrossCorrelation(config=None, logger=None, **kwargs)[source]
      +class treecorr.NNNCrossCorrelation(config=None, logger=None, **kwargs)[source]

      Bases: treecorr.binnedcorr3.BinnedCorr3

      This class handles the calculation a 3-point count-count-count cross-correlation function.

      @@ -686,13 +687,16 @@

      NNNCorrelation: Count-count-count correlationsNNNCorrelation, which in turn hold the information about triangles in each of the relevant configurations. We name these:

      -
      -
      Attribute:

      n1n2n3: Triangles where N1 is opposite d1, N2 is opposite d2, N3 is opposite d3. -n1n3n2: Triangles where N1 is opposite d1, N3 is opposite d2, N2 is opposite d3. -n2n1n3: Triangles where N2 is opposite d1, N1 is opposite d2, N3 is opposite d3. -n2n3n1: Triangles where N2 is opposite d1, N3 is opposite d2, N1 is opposite d3. -n3n1n2: Triangles where N3 is opposite d1, N1 is opposite d2, N2 is opposite d3. -n3n2n1: Triangles where N3 is opposite d1, N2 is opposite d2, N1 is opposite d3.

      +
      +
      Attributes
      +
        +
      • n1n2n3 – Triangles where N1 is opposite d1, N2 is opposite d2, N3 is opposite d3.

      • +
      • n1n3n2 – Triangles where N1 is opposite d1, N3 is opposite d2, N2 is opposite d3.

      • +
      • n2n1n3 – Triangles where N2 is opposite d1, N1 is opposite d2, N3 is opposite d3.

      • +
      • n2n3n1 – Triangles where N2 is opposite d1, N3 is opposite d2, N1 is opposite d3.

      • +
      • n3n1n2 – Triangles where N3 is opposite d1, N1 is opposite d2, N2 is opposite d3.

      • +
      • n3n2n1 – Triangles where N3 is opposite d1, N2 is opposite d2, N1 is opposite d3.

      • +

      If for instance N2 and N3 are the same field, then e.g. n1n2n3 and n1n3n2 will have @@ -745,13 +749,13 @@

      NNNCorrelation: Count-count-count correlations
      -__eq__(other)[source]
      +__eq__(other)[source]

      Return whether two NNNCrossCorrelation instances are equal

      -__iadd__(other)[source]
      +__iadd__(other)[source]

      Add a second NNNCrossCorrelation’s data to this one.

      Note

      @@ -763,25 +767,25 @@

      NNNCorrelation: Count-count-count correlations
      -__init__(config=None, logger=None, **kwargs)[source]
      +__init__(config=None, logger=None, **kwargs)[source]

      Initialize NNNCrossCorrelation. See class doc for details.

      -__repr__()[source]
      +__repr__()[source]

      Return repr(self).

      -copy()[source]
      +copy()[source]

      Make a copy

      -finalize()[source]
      +finalize()[source]

      Finalize the calculation of the correlation function.

      The process_cross command accumulate values in each bin, so they can be called multiple times if appropriate. Afterwards, this command finishes the calculation @@ -790,7 +794,7 @@

      NNNCorrelation: Count-count-count correlations
      -getWeight()[source]
      +getWeight()[source]

      The weight array for the current correlation object as a 1-d array.

      For NNNCrossCorrelation, this is always just 1. We don’t currently have any ability to automatically handle a random catalog for NNNCrossCorrelations, so we don’t know @@ -802,13 +806,13 @@

      NNNCorrelation: Count-count-count correlations
      -property nonzero
      +property nonzero

      Return if there are any values accumulated yet. (i.e. ntri > 0)

      -process(cat1, cat2, cat3=None, metric=None, num_threads=None, comm=None, low_mem=False, initialize=True, finalize=True)[source]
      +process(cat1, cat2, cat3=None, metric=None, num_threads=None, comm=None, low_mem=False, initialize=True, finalize=True)[source]

      Accumulate the cross-correlation of the points in the given Catalogs: cat1, cat2, cat3.

      diff --git a/docs/_build/html/params.html b/docs/_build/html/params.html index b42b6c2d..2464fb57 100644 --- a/docs/_build/html/params.html +++ b/docs/_build/html/params.html @@ -7,7 +7,7 @@ - Configuration Parameters — TreeCorr 4.2.3 documentation + Configuration Parameters — TreeCorr 4.2.5 documentation @@ -123,6 +123,7 @@
    • Changes from version 4.2.1 to 4.2.2
    • Changes from version 4.2.2 to 4.2.3
    • Changes from version 4.2.3 to 4.2.4
    • +
    • Changes from version 4.2.4 to 4.2.5
    • Previous History
    diff --git a/docs/_build/html/patches.html b/docs/_build/html/patches.html index f0e1f2a5..33fd0d6e 100644 --- a/docs/_build/html/patches.html +++ b/docs/_build/html/patches.html @@ -7,7 +7,7 @@ - Patches — TreeCorr 4.2.3 documentation + Patches — TreeCorr 4.2.5 documentation @@ -113,6 +113,7 @@
  • Changes from version 4.2.1 to 4.2.2
  • Changes from version 4.2.2 to 4.2.3
  • Changes from version 4.2.3 to 4.2.4
  • +
  • Changes from version 4.2.4 to 4.2.5
  • Previous History
  • diff --git a/docs/_build/html/py-modindex.html b/docs/_build/html/py-modindex.html index 9fc9e165..f764c37d 100644 --- a/docs/_build/html/py-modindex.html +++ b/docs/_build/html/py-modindex.html @@ -7,7 +7,7 @@ - Python Module Index — TreeCorr 4.2.3 documentation + Python Module Index — TreeCorr 4.2.5 documentation @@ -32,7 +32,6 @@ - @@ -107,6 +106,7 @@
  • Changes from version 4.2.1 to 4.2.2
  • Changes from version 4.2.2 to 4.2.3
  • Changes from version 4.2.3 to 4.2.4
  • +
  • Changes from version 4.2.4 to 4.2.5
  • Previous History
  • diff --git a/docs/_build/html/scripts.html b/docs/_build/html/scripts.html index 0c55ba65..af41a5b9 100644 --- a/docs/_build/html/scripts.html +++ b/docs/_build/html/scripts.html @@ -7,7 +7,7 @@ - Using configuration files — TreeCorr 4.2.3 documentation + Using configuration files — TreeCorr 4.2.5 documentation @@ -32,7 +32,6 @@ - @@ -116,6 +115,7 @@
  • Changes from version 4.2.1 to 4.2.2
  • Changes from version 4.2.2 to 4.2.3
  • Changes from version 4.2.3 to 4.2.4
  • +
  • Changes from version 4.2.4 to 4.2.5
  • Previous History
  • @@ -254,7 +254,7 @@

    The corr2 function from python
    -treecorr.corr2(config, logger=None)[source]
    +treecorr.corr2(config, logger=None)[source]

    Run the full two-point correlation function code based on the parameters in the given config dict.

    The function print_corr2_params will output information about the valid parameters @@ -277,7 +277,7 @@

    The corr2 function from python

    -treecorr.corr3(config, logger=None)[source]
    +treecorr.corr3(config, logger=None)[source]

    Run the full three-point correlation function code based on the parameters in the given config dict.

    The function print_corr3_params will output information about the valid parameters @@ -300,13 +300,13 @@

    The corr3 function from python

    -treecorr.corr2.print_corr2_params()[source]
    +treecorr.corr2.print_corr2_params()[source]

    Print information about the valid parameters that may be given to the corr2 function.

    -treecorr.corr3.print_corr3_params()[source]
    +treecorr.corr3.print_corr3_params()[source]

    Print information about the valid parameters that may be given to the corr3 function.

    @@ -315,7 +315,7 @@

    Other utilities related to corr2 and corr3

    Utilities related to the configuration dict

    -treecorr.config.check_config(config, params, aliases=None, logger=None)[source]
    +treecorr.config.check_config(config, params, aliases=None, logger=None)[source]

    Check (and update) a config dict to conform to the given parameter rules. The params dict has an entry for each valid config parameter whose value is a tuple with the following items:

    @@ -345,7 +345,7 @@

    Other utilities related to corr2 and corr3
    -treecorr.config.convert(value, value_type, key)[source]
    +treecorr.config.convert(value, value_type, key)[source]

    Convert the given value to the given type.

    The key helps determine what kind of conversion should be performed. Specifically if ‘unit’ is in the key value, then a unit conversion is done. @@ -366,7 +366,7 @@

    Other utilities related to corr2 and corr3
    -treecorr.config.get(config, key, value_type=<class 'str'>, default=None)[source]
    +treecorr.config.get(config, key, value_type=<class 'str'>, default=None)[source]

    A helper function to get a key from config converting to a particular type

    Parameters
    @@ -386,7 +386,7 @@

    Other utilities related to corr2 and corr3
    -treecorr.config.get_from_list(config, key, num, value_type=<class 'str'>, default=None)[source]
    +treecorr.config.get_from_list(config, key, num, value_type=<class 'str'>, default=None)[source]

    A helper function to get a key from config that is allowed to be a list

    Some of the config values are allowed to be lists of values, in which case we take the num item from the list. If they are not a list, then the given value is used for @@ -410,7 +410,7 @@

    Other utilities related to corr2 and corr3
    -treecorr.config.merge_config(config, kwargs, valid_params, aliases=None)[source]
    +treecorr.config.merge_config(config, kwargs, valid_params, aliases=None)[source]

    Merge in the values from kwargs into config.

    If either of these is None, then the other one is returned. If they are both dicts, then the values in kwargs take precedence over ones in config @@ -433,7 +433,7 @@

    Other utilities related to corr2 and corr3
    -treecorr.config.parse(value, value_type, name)[source]
    +treecorr.config.parse(value, value_type, name)[source]

    Parse the input value as the given type.

    Parameters
    @@ -451,7 +451,7 @@

    Other utilities related to corr2 and corr3
    -treecorr.config.parse_bool(value)[source]
    +treecorr.config.parse_bool(value)[source]

    Parse a value as a boolean.

    Valid string values for True are: ‘true’, ‘yes’, ‘t’, ‘y’ Valid string values for False are: ‘false’, ‘no’, ‘f’, ‘n’, ‘none’ @@ -469,7 +469,7 @@

    Other utilities related to corr2 and corr3
    -treecorr.config.parse_unit(value)[source]
    +treecorr.config.parse_unit(value)[source]

    Parse the input value as a string that should be one of the valid angle units in coord.AngleUnit.valid_names.

    The value is allowed to merely start with one of the unit names. So ‘deg’, ‘degree’, @@ -488,7 +488,7 @@

    Other utilities related to corr2 and corr3
    -treecorr.config.parse_variable(config, v)[source]
    +treecorr.config.parse_variable(config, v)[source]

    Parse a configuration variable from a string that should look like ‘key = value’ and write that value to config[key].

    @@ -503,7 +503,7 @@

    Other utilities related to corr2 and corr3
    -treecorr.config.print_params(params)[source]
    +treecorr.config.print_params(params)[source]

    Print the information about the valid parameters, given by the given params dict. See check_config for the structure of the params dict.

    @@ -515,7 +515,7 @@

    Other utilities related to corr2 and corr3
    -treecorr.config.read_config(file_name, file_type='auto')[source]
    +treecorr.config.read_config(file_name, file_type='auto')[source]

    Read a configuration dict from a file.

    Parameters
    @@ -533,7 +533,7 @@

    Other utilities related to corr2 and corr3
    -treecorr.config.setup_logger(verbose, log_file=None)[source]
    +treecorr.config.setup_logger(verbose, log_file=None)[source]

    Parse the integer verbosity level from the command line args into a logging_level string

    Parameters
    diff --git a/docs/_build/html/search.html b/docs/_build/html/search.html index 622a3967..0af17ad2 100644 --- a/docs/_build/html/search.html +++ b/docs/_build/html/search.html @@ -7,7 +7,7 @@ - Search — TreeCorr 4.2.3 documentation + Search — TreeCorr 4.2.5 documentation @@ -33,7 +33,6 @@ - @@ -107,6 +106,7 @@
  • Changes from version 4.2.1 to 4.2.2
  • Changes from version 4.2.2 to 4.2.3
  • Changes from version 4.2.3 to 4.2.4
  • +
  • Changes from version 4.2.4 to 4.2.5
  • Previous History
  • diff --git a/docs/_build/html/searchindex.js b/docs/_build/html/searchindex.js index ea0bb4da..ba0a9caa 100644 --- a/docs/_build/html/searchindex.js +++ b/docs/_build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["binning","catalog","changes","correlation2","correlation3","cov","field","gg","ggg","guide","history","index","kg","kk","kkk","metric","ng","nk","nn","nnn","overview","params","patches","scripts"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":1,"sphinx.ext.viewcode":1,sphinx:56},filenames:["binning.rst","catalog.rst","changes.rst","correlation2.rst","correlation3.rst","cov.rst","field.rst","gg.rst","ggg.rst","guide.rst","history.rst","index.rst","kg.rst","kk.rst","kkk.rst","metric.rst","ng.rst","nk.rst","nn.rst","nnn.rst","overview.rst","params.rst","patches.rst","scripts.rst"],objects:{"":{catalog:[1,0,0,"-"],config:[23,0,0,"-"]},"treecorr.BinnedCorr2":{clear:[3,2,1,""],estimate_cov:[3,2,1,""],getStat:[3,2,1,""],getWeight:[3,2,1,""],nonzero:[3,2,1,""],sample_pairs:[3,2,1,""]},"treecorr.BinnedCorr3":{clear:[4,2,1,""],estimate_cov:[4,2,1,""],getStat:[4,2,1,""],getWeight:[4,2,1,""],nonzero:[4,2,1,""]},"treecorr.Catalog":{checkForNaN:[1,2,1,""],clear_cache:[1,2,1,""],copy:[1,2,1,""],getGField:[1,2,1,""],getGSimpleField:[1,2,1,""],getKField:[1,2,1,""],getKSimpleField:[1,2,1,""],getNField:[1,2,1,""],getNSimpleField:[1,2,1,""],get_patch_centers:[1,2,1,""],get_patch_file_names:[1,2,1,""],get_patches:[1,2,1,""],load:[1,2,1,""],makeArray:[1,2,1,""],read_patch_centers:[1,2,1,""],read_patches:[1,2,1,""],resize_cache:[1,2,1,""],select:[1,2,1,""],unload:[1,2,1,""],write:[1,2,1,""],write_patch_centers:[1,2,1,""],write_patches:[1,2,1,""]},"treecorr.Field":{cat:[6,2,1,""],count_near:[6,2,1,""],get_near:[6,2,1,""],kmeans_assign_patches:[6,2,1,""],kmeans_initialize_centers:[6,2,1,""],kmeans_refine_centers:[6,2,1,""],nTopLevelNodes:[6,2,1,""],run_kmeans:[6,2,1,""]},"treecorr.GGCorrelation":{__eq__:[7,2,1,""],__iadd__:[7,2,1,""],__init__:[7,2,1,""],__repr__:[7,2,1,""],calculateGamSq:[7,2,1,""],calculateMapSq:[7,2,1,""],copy:[7,2,1,""],finalize:[7,2,1,""],getStat:[7,2,1,""],getWeight:[7,2,1,""],process:[7,2,1,""],process_auto:[7,2,1,""],process_cross:[7,2,1,""],process_pairwise:[7,2,1,""],read:[7,2,1,""],write:[7,2,1,""],writeMapSq:[7,2,1,""]},"treecorr.GGGCorrelation":{__eq__:[8,2,1,""],__iadd__:[8,2,1,""],__init__:[8,2,1,""],__repr__:[8,2,1,""],calculateMap3:[8,2,1,""],copy:[8,2,1,""],finalize:[8,2,1,""],getStat:[8,2,1,""],getWeight:[8,2,1,""],process:[8,2,1,""],process_auto:[8,2,1,""],process_cross12:[8,2,1,""],process_cross:[8,2,1,""],read:[8,2,1,""],write:[8,2,1,""],writeMap3:[8,2,1,""]},"treecorr.GGGCrossCorrelation":{__eq__:[8,2,1,""],__iadd__:[8,2,1,""],__init__:[8,2,1,""],__repr__:[8,2,1,""],copy:[8,2,1,""],finalize:[8,2,1,""],getStat:[8,2,1,""],getWeight:[8,2,1,""],nonzero:[8,2,1,""],process:[8,2,1,""],process_cross12:[8,2,1,""],process_cross:[8,2,1,""],read:[8,2,1,""],write:[8,2,1,""]},"treecorr.KGCorrelation":{__eq__:[12,2,1,""],__iadd__:[12,2,1,""],__init__:[12,2,1,""],__repr__:[12,2,1,""],copy:[12,2,1,""],finalize:[12,2,1,""],process:[12,2,1,""],process_cross:[12,2,1,""],process_pairwise:[12,2,1,""],read:[12,2,1,""],write:[12,2,1,""]},"treecorr.KKCorrelation":{__eq__:[13,2,1,""],__iadd__:[13,2,1,""],__init__:[13,2,1,""],__repr__:[13,2,1,""],copy:[13,2,1,""],finalize:[13,2,1,""],process:[13,2,1,""],process_auto:[13,2,1,""],process_cross:[13,2,1,""],process_pairwise:[13,2,1,""],read:[13,2,1,""],write:[13,2,1,""]},"treecorr.KKKCorrelation":{__eq__:[14,2,1,""],__iadd__:[14,2,1,""],__init__:[14,2,1,""],__repr__:[14,2,1,""],copy:[14,2,1,""],finalize:[14,2,1,""],process:[14,2,1,""],process_auto:[14,2,1,""],process_cross12:[14,2,1,""],process_cross:[14,2,1,""],read:[14,2,1,""],write:[14,2,1,""]},"treecorr.KKKCrossCorrelation":{__eq__:[14,2,1,""],__iadd__:[14,2,1,""],__init__:[14,2,1,""],__repr__:[14,2,1,""],copy:[14,2,1,""],finalize:[14,2,1,""],getStat:[14,2,1,""],getWeight:[14,2,1,""],nonzero:[14,2,1,""],process:[14,2,1,""],process_cross12:[14,2,1,""],process_cross:[14,2,1,""],read:[14,2,1,""],write:[14,2,1,""]},"treecorr.NGCorrelation":{__eq__:[16,2,1,""],__iadd__:[16,2,1,""],__init__:[16,2,1,""],__repr__:[16,2,1,""],calculateNMap:[16,2,1,""],calculateXi:[16,2,1,""],copy:[16,2,1,""],finalize:[16,2,1,""],process:[16,2,1,""],process_cross:[16,2,1,""],process_pairwise:[16,2,1,""],read:[16,2,1,""],write:[16,2,1,""],writeNMap:[16,2,1,""],writeNorm:[16,2,1,""]},"treecorr.NKCorrelation":{__eq__:[17,2,1,""],__iadd__:[17,2,1,""],__init__:[17,2,1,""],__repr__:[17,2,1,""],calculateXi:[17,2,1,""],copy:[17,2,1,""],finalize:[17,2,1,""],process:[17,2,1,""],process_cross:[17,2,1,""],process_pairwise:[17,2,1,""],read:[17,2,1,""],write:[17,2,1,""]},"treecorr.NNCorrelation":{__eq__:[18,2,1,""],__iadd__:[18,2,1,""],__init__:[18,2,1,""],__repr__:[18,2,1,""],calculateNapSq:[18,2,1,""],calculateXi:[18,2,1,""],copy:[18,2,1,""],finalize:[18,2,1,""],getStat:[18,2,1,""],getWeight:[18,2,1,""],process:[18,2,1,""],process_auto:[18,2,1,""],process_cross:[18,2,1,""],process_pairwise:[18,2,1,""],read:[18,2,1,""],write:[18,2,1,""]},"treecorr.NNNCorrelation":{__eq__:[19,2,1,""],__iadd__:[19,2,1,""],__init__:[19,2,1,""],__repr__:[19,2,1,""],calculateZeta:[19,2,1,""],copy:[19,2,1,""],finalize:[19,2,1,""],getStat:[19,2,1,""],getWeight:[19,2,1,""],process:[19,2,1,""],process_auto:[19,2,1,""],process_cross12:[19,2,1,""],process_cross:[19,2,1,""],read:[19,2,1,""],write:[19,2,1,""]},"treecorr.NNNCrossCorrelation":{__eq__:[19,2,1,""],__iadd__:[19,2,1,""],__init__:[19,2,1,""],__repr__:[19,2,1,""],copy:[19,2,1,""],finalize:[19,2,1,""],getWeight:[19,2,1,""],nonzero:[19,2,1,""],process:[19,2,1,""],process_cross12:[19,2,1,""],process_cross:[19,2,1,""],read:[19,2,1,""],write:[19,2,1,""]},"treecorr.catalog":{isGColRequired:[1,3,1,""],isKColRequired:[1,3,1,""]},"treecorr.config":{check_config:[23,3,1,""],convert:[23,3,1,""],get:[23,3,1,""],get_from_list:[23,3,1,""],merge_config:[23,3,1,""],parse:[23,3,1,""],parse_bool:[23,3,1,""],parse_unit:[23,3,1,""],parse_variable:[23,3,1,""],print_params:[23,3,1,""],read_config:[23,3,1,""],setup_logger:[23,3,1,""]},"treecorr.corr2":{print_corr2_params:[23,3,1,""]},"treecorr.corr3":{print_corr3_params:[23,3,1,""]},"treecorr.reader":{AsciiReader:[1,1,1,""],FitsReader:[1,1,1,""],HdfReader:[1,1,1,""],PandasReader:[1,1,1,""]},"treecorr.reader.AsciiReader":{check_valid_ext:[1,2,1,""],names:[1,2,1,""],read:[1,2,1,""],row_count:[1,2,1,""]},"treecorr.reader.FitsReader":{check_valid_ext:[1,2,1,""],names:[1,2,1,""],read:[1,2,1,""],row_count:[1,2,1,""]},"treecorr.reader.HdfReader":{check_valid_ext:[1,2,1,""],names:[1,2,1,""],read:[1,2,1,""],row_count:[1,2,1,""]},"treecorr.reader.PandasReader":{read:[1,2,1,""]},treecorr:{BinnedCorr2:[3,1,1,""],BinnedCorr3:[4,1,1,""],Catalog:[1,1,1,""],Field:[6,1,1,""],GField:[6,1,1,""],GGCorrelation:[7,1,1,""],GGGCorrelation:[8,1,1,""],GGGCrossCorrelation:[8,1,1,""],GSimpleField:[6,1,1,""],KField:[6,1,1,""],KGCorrelation:[12,1,1,""],KKCorrelation:[13,1,1,""],KKKCorrelation:[14,1,1,""],KKKCrossCorrelation:[14,1,1,""],KSimpleField:[6,1,1,""],NField:[6,1,1,""],NGCorrelation:[16,1,1,""],NKCorrelation:[17,1,1,""],NNCorrelation:[18,1,1,""],NNNCorrelation:[19,1,1,""],NNNCrossCorrelation:[19,1,1,""],NSimpleField:[6,1,1,""],SimpleField:[6,1,1,""],calculateVarG:[1,3,1,""],calculateVarK:[1,3,1,""],catalog:[1,0,0,"-"],config:[23,0,0,"-"],corr2:[23,3,1,""],corr3:[23,3,1,""],estimate_multi_cov:[3,3,1,""],read_catalogs:[1,3,1,""]}},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","method","Python method"],"3":["py","function","Python function"]},objtypes:{"0":"py:module","1":"py:class","2":"py:method","3":"py:function"},terms:{"007":20,"0th":8,"100":[3,5,7,9,18,20,22],"101":2,"1024":6,"106":2,"108":2,"109":2,"111":2,"115":2,"116":2,"117":2,"118":2,"120":[7,18],"122":2,"123":2,"125":2,"127":2,"128":[2,7,16,18],"131":2,"132":[7,18],"14s":16,"1508":20,"15s":[7,18],"16s":[7,18],"180":23,"196":16,"1994":[3,15],"1998":21,"1st":8,"200":6,"2002":[7,16,18],"2002apj":16,"2003":[8,20,21],"2004":[8,20],"2005":8,"2008":5,"2008apj":[3,4,5],"2020":0,"2320":[7,18],"267":[3,15],"2dr":[9,18,21],"2nd":8,"2pi":21,"2pt":[5,19],"338":20,"352":[8,20],"389":[7,16,18],"397":[8,20],"3drr":19,"3pt":[2,5,8,14,19],"3rd":8,"3rdd":19,"40th":6,"431":8,"4pi":21,"500":[3,4,5],"568":[7,16,18],"577":16,"604h":16,"60th":6,"681":[3,4,5],"726l":[3,4,5],"729":[7,16,18],"74s":16,"754":[7,18],"809":[8,20],"818":8,"927":[3,15],"abstract":6,"boolean":23,"break":[9,15],"case":[0,1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],"class":[0,2,3,4,6,7,8,11,12,13,14,16,17,18,19,23],"default":[0,1,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,21,22,23],"final":[1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,22],"float":[1,3,4,6,7,8,12,13,14,16,21],"function":[0,1,2,5,6,7,8,11,12,13,14,15,16,17,18,19,20,22],"import":[1,15,20,22,23],"int":[0,1,3,4,6,7,8,12,13,14,16,17,18,19,21],"long":[0,1],"new":[1,3,6,11,20,22,23],"return":[1,3,4,6,7,8,12,13,14,16,17,18,19,23],"switch":[2,6,15,21],"true":[0,1,3,4,5,6,7,8,12,13,14,16,17,18,19,21,22,23],"try":[0,1,2,7,8,12,13,14,16,17,18,19,21,22],"var":1,"while":[0,12,13,14,17,21],Added:2,And:[0,3,4,5,20,22],But:[0,1,3,4,6,20,21,22],DES:[6,22],For:[0,1,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],Its:6,Not:2,One:[0,1,5,19,22],PRs:2,That:15,The:[0,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21,22],Then:[5,6,7,8,12,13,14,16,17,18,19,21,22],There:[0,1,3,4,5,6,8,9,15,19,21,22],These:[3,5,6,8,9,15,19,20,22],Use:[1,3,4,6,11,21],Used:1,Uses:1,Using:[5,11],With:[6,21,22],__eq__:[7,8,12,13,14,16,17,18,19],__iadd__:[7,8,12,13,14,16,17,18,19],__init__:[7,8,12,13,14,16,17,18,19],__repr__:[7,8,12,13,14,16,17,18,19],_top:[3,4],abil:[2,4,15,19],abl:[0,1,9,20],about:[0,1,3,4,6,8,9,11,14,19,20,22,23],abov:[0,1,3,4,5,6,7,8,9,14,15,16,19,21,22],abs:[3,4,5,16],absolut:0,accept:0,access:[1,5,7,8,9,12,13,14,16,17],accommod:[0,8],accord:[0,1,3,4,5,6,7,8,12,13,14,16,17,18,19,21,22,23],account:[3,4,7,8,9,14,19,21],accumul:[0,1,2,3,4,7,8,11,12,13,14,16,17,18,19,21],accur:[2,19,22],accuraci:0,acoommod:3,across:[0,4,5,15],act:[3,4],actual:[0,1,2,3,4,5,6,7,8,12,13,14,15,16,17,18,20,21,22,23],add:[1,7,8,12,13,14,16,17,18,19,20],added:20,adding:[6,7,8,12,13,14,16,17,18,19],addit:[0,1,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],addition:[0,5],adjust:5,adsab:[3,4,5,16],advantag:23,advis:0,affect:[0,22],after:[0,1,5,7,8,9,12,13,14,16,17,18,19,20,21,23],afterward:[7,8,12,13,14,16,17,18,19],again:[1,6,9,20],ahead:22,aka:[1,6,8,14,19,22],algorithm:[0,1,3,4,5,6,20,21,22],alia:3,alias:23,all:[0,1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],allow:[0,1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,23],allow_xyz:[1,21],almost:[6,22],along:[3,4,8,9,15,18,19,21,23],alpha2000:1,alreadi:[1,2,3,4,6,19,20,21,22],also:[0,1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],alt:[6,22],altern:[1,6,21,22],although:[0,1,2,3,4,8,9,20,21],alwai:[0,1,3,4,6,7,8,9,12,13,14,16,17,18,19,21,22],ambigu:[4,21],among:[0,5,9,21,22],amount:0,anaconda3:20,analog:[0,4,5,19],ancillari:[3,4,5],angl:[0,6,9,15,23],angleunit:23,angular:[0,1,3,4,6,15,21],ani:[0,1,2,3,4,5,6,7,8,9,12,13,14,15,17,18,19,20,21,22,23],anoth:[2,6,8,15,16,17,18,19,21,22],answer:22,anymor:9,anyon:2,anyth:[3,4,9,22],apertur:[2,3,5,7,8,16,18,21],api:11,apj:[7,16,18],appear:[5,8,14,19],appendix:0,appli:[0,1,7,8,12,13,14,15,16,17,18,19,21],applic:[0,3,4,8,15,21],appreci:0,approach:6,appropri:[0,1,3,4,7,8,9,12,13,14,16,17,18,19,21],approx:15,approxim:[0,20,21],arbitrari:[1,2,3,4,6],arc:[0,3,4,11],arcco:[7,16,18],arcmin:[0,1,3,4,9,20,21],arcsec:[0,1,3,4,21],arcsin:[7,15],area:[3,5,22],aren:[3,4,5],arg:[6,23],argument:[1,2,3,4,6,7,8,9,12,13,14,16,17,18,19,20,21,23],aris:2,arithmet:[0,1,3,4],around:[0,16,17,20,21,22],arrai:[0,1,3,4,5,6,7,8,11,12,13,14,16,17,18,19,21,22],arrang:22,arthur:22,asap:2,ascens:[1,6,9],ascii:[1,2,7,8,9,12,13,14,16,17,18,19,20,21],asciiread:1,ascl:20,aspect:20,assign:[1,6,22],assum:[1,6,15,21],astron:[8,20],astronom:22,astronomi:9,astrophi:[8,20],astrophy:20,attribut:[0,1,5,7,8,9,12,13,14,15,16,17,18,19,22],auto:[3,4,5,7,8,11,13,14,16,18,19,20,21,22,23],automat:[1,7,8,9,12,13,14,16,17,18,19,20,21],avaiabl:20,avail:[0,6,9,16,17,18,20,22,23],averag:[0,1,3,4,6,22],avoid:6,awai:15,back:[1,22],background:15,backup:22,ball:[6,20,22],bao:0,bar:[5,21],base:[0,1,2,3,4,5,6,7,8,12,13,14,15,16,17,18,19,21,23],basic:[9,15,18,19,20,22],beat:9,becaus:[0,1,3,6,9,21,22],becom:[2,3,4,6,15],been:[0,1,2,3,4,5,6,15,18,19,21],befor:[1,3,8,14,19,22],begin:[7,8,12,13,14,16,17,18,19,21],behav:[3,4],behavior:[1,2,7,21],behind:15,being:[0,1,3,4,5,7,8,9,12,13,14,15,16,17,18,19,20,21,22],belong:0,below:[0,2,3,4,6,9,15,20,21,22,23],bernstein:[8,20],besid:[7,8,12,13,14,16,17,18,19],best:[6,21,22],bet:6,better:[5,6,7,9,12,13,16,17,18,19,21,22],between:[0,1,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,21,22],bia:[0,16],bias:9,big:[2,22],bin:[1,3,4,5,7,8,11,12,13,14,15,16,17,18,19,20,23],bin_siz:[0,3,4,7,8,12,13,14,16,17,18,19,20,21],bin_slop:[3,4,11,21],bin_typ:[0,3,4,9,21],binari:21,binnedcorr2:[0,2,3,5,7,12,13,15,16,17,18],binnedcorr3:[0,4,5,8,14,15,19],binsiz:4,bit:[0,4,20,21],blow:1,bodi:15,bool:[1,3,4,6,7,8,12,13,14,16,17,18,19,21,23],bootstrap:[3,4,11],bot:15,both:[0,1,2,3,4,5,6,7,8,12,13,14,15,16,17,18,19,20,21,22,23],bother:1,bottom:0,bottom_edg:0,bound:22,boundari:[3,4,15],branch:20,bring:1,broke:22,brute:[1,3,4,6,11,20,21],bug:11,build:[1,2,3,4,5,6,11,21,22],built:[1,3,4,7,8,12,13,14,16,17,18,19,23],cach:1,cal:8,calcaul:6,calcualt:[3,4],calcul:[0,1,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,18,19,20,22,23],calculategamsq:7,calculatemap3:8,calculatemapsq:[3,5,7,8,18],calculatenapsq:18,calculatenmap:16,calculatevarg:[1,9],calculatevark:1,calculatexi:[5,9,16,17,18],calculatezeta:[2,5,9,19],calibr:21,call:[1,2,3,5,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],can:[0,1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],cancel:0,cannot:[1,3,4,5,6,22],capit:23,captur:[5,8,14,19],care:[0,3,6,15,22],cartesian:[6,15],cat1:[0,1,3,4,7,8,9,12,13,14,16,17,18,19,21,22],cat1a:5,cat1b:5,cat2:[0,3,4,7,8,9,12,13,14,16,17,18,19,21,22],cat2a:5,cat2b:5,cat3:[8,14,19],cat:[1,6,7,8,9,13,14,18,19,20,21,22],cat_fil:22,cat_file1:22,cat_file2:22,cat_list:1,cat_precis:1,catalog:[0,2,3,4,6,7,8,11,12,13,14,15,16,17,18,19,20,21,22,23],catlist:21,caus:20,caveat:22,cdot:15,celesti:9,celestialcoord:6,celestialcorod:6,cell:[0,1,3,4,6,21],cen_fil:22,cenroid:8,center:[0,1,5,6,7,8,9,11,12,13,14,16,17,18,19,21],centers_fil:22,centroid:[1,6,8,20,21],cffi:20,challeng:22,chang:[0,1,3,4,5,10,11,15,21],charact:21,character:4,check:[1,3,4,6,7,8,12,13,14,15,16,17,18,19,23],check_config:23,check_valid_ext:1,checkfornan:1,chld:21,choic:[0,6,8,9,21,22],choos:[6,8,21,22],chord:[4,15],chose:[6,22],chosen:22,circl:[3,4,15],clang:[1,3,4],classic:[5,6],classifi:22,clear:[1,3,4,7,8,12,13,14,16,17,18,19],clear_cach:1,click:20,clockwis:4,clone:20,close:[0,9,21,22],closer:[0,6],closest:[6,22],cluster:[6,22],cmb:[3,13,14,20],code:[0,1,2,6,8,20,21,22,23],coeffici:[16,21],col:1,col_str:1,collect:[1,6],column:[1,2,7,8,9,12,13,14,16,17,18,19,21],com:20,combin:[0,2,3,4,8,9,14,16,19,20,22],come:[0,3,5,8,14,19,21],comm:[7,8,12,13,14,16,17,18,19,22],comm_world:22,comma:21,command:[1,6,7,8,12,13,14,16,17,18,19,20,21,23],comment:[1,20,21],comment_mark:[1,21],common:[3,4,15,20],commonli:[6,15,16],commun:[7,8,12,13,14,16,17,18,19],compar:[0,5,6,8,22],comparison:0,compat:[1,2,3,4],compens:[9,16,17,21],compil:[1,3,4],complet:[0,1,2,3,4,5,7,8,12,13,14,16,17,18,19,20,22,23],complex:[6,8,21],complic:[3,4,8,9,14,19],compon:[1,3,5,7,8,12,15,16,20,21],compris:6,comput:[0,1,2,3,4,5,6,7,8,9,12,13,14,16,17,18,19,20,22],concaten:[1,3,4,7,8,14],concentr:17,concern:0,concret:6,conda:20,condit:15,config1:[9,22],config2:[9,22],config:[1,3,4,5,7,8,9,12,13,14,16,17,18,19,22,23],config_fil:[20,23],configur:[1,3,4,7,8,9,11,12,13,14,16,17,18,19,20],confirm:0,conform:23,confus:22,conjug:8,conjunct:[1,3,4,21],connect:[3,9,15],consequ:2,conserv:[1,21],consid:[1,6,7,8,12,13,14,16,17,18,19],consider:6,consist:[1,15,21,23],constant:6,construct:[0,1,3,4,6,7,8,12,13,14,15,16,17,18,19,21],constructor:[1,3,4,5,6,7,8,12,13,14,16,17,18,19,22],contact:20,contain:[3,6,7,8,16,17,18,19],context:6,continu:[0,2],contrariwis:15,contrast:[8,14,19],contribut:[1,5,7,8,12,13,14,16,17,19,21],control:[1,9,21],conveni:[0,1],convent:[1,9,15,21],converg:[1,6,20,21],convers:[15,23],convert:[1,7,8,12,13,14,15,16,17,18,19,23],convinc:22,coord:[1,6,20,23],coordin:[1,3,4,6,7,8,12,13,14,15,16,17,18,19,20,21],copi:[1,7,8,12,13,14,16,17,18,19],core:[1,3,4,7,8,12,13,14,16,17,18,19,20,21,22],corner:[2,8,14,19,22],corr2:[11,21],corr3:[11,21],corr:[1,3,5],correct:[0,2,15,19,20,21],correctli:[2,21],correl:[0,1,2,5,6,11,15,22,23],correspond:[0,1,3,4,5,6,7,8,9,12,13,16,17,18,19,21],correspong:1,corret:4,corrlet:8,corrollari:18,cosmic:[9,21],cosmolog:21,could:[1,2,3,4,5,6,9,20,21,22],couldn:22,count:[0,1,3,4,5,6,9,11,20,21,22],count_near:6,counter:4,coupl:2,cours:[0,1,5,6,9,15,21,22],cov:[3,5,7,12,13,16,17,18],cov_boot:5,cov_jk:5,covari:[0,2,3,4,6,7,8,11,12,13,16,17,18,19,22],cover:9,cpu:[1,3,4,6,7,8,12,13,14,16,17,18,19,21,22],crazi:22,creat:6,criterion:[0,6,21],crittenden:[3,7,8,16,18,21],cross:[0,1,2,3,4,5,7,8,9,12,13,14,16,17,18,19,20,21,22],crosscorrel:2,cull:6,cumbersom:21,current:[1,2,3,4,6,7,8,14,15,18,19,20],curv:[20,21],cut:0,d_1:19,d_2:19,d_3:19,dark:22,dat:[1,9,20,21,23],data:[0,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21,22],data_cat:[1,19],data_fil:9,daughter:6,dd_cov:5,dd_cov_b:5,ddd:[9,19,21],ddr:[2,9,19,21],deal:[9,22],debug:[1,3,4,21],dec:[0,1,4,6,9,15,20,21,22],dec_col:[1,9,20,21],dec_ext:[1,21],dec_unit:[1,6,9,20,21],decid:0,decim:21,declar:1,declin:[1,6,9],decomposit:[7,15],decreas:[0,21],defin:[0,1,3,4,5,6,8,11,15,20,21,23],definit:[3,4,5,6,7,8,15,16,18,22],defint:15,deg:[1,23],degre:[0,1,3,4,9,20,21,23],del:22,delai:[1,22],delet:[1,22],delimet:21,delimit:[1,21],delta2000:1,delta:[0,13,14],denomin:[5,18,19],dens:5,densiti:[9,18,19,21],dep:20,depend:[1,6,9,11,21,22],deprec:[3,6,7,12,13,16,17,18,23],depth:21,deriv:[2,3,4,11,16,23],describ:[5,6,7,8,12,13,14,15,16,17,18,19,20,21,22,23],descript:[1,7,8,12,13,14,16,17,18,19,21,23],design:3,desir:[1,2,3,4,5,6,7,8,9,12,13,14,16,17,18,19,20,21,23],despit:6,detail:[2,3,4,7,8,9,12,13,14,16,17,18,19,20,21,22],determin:[1,6,7,8,12,13,14,16,17,18,19,21,23],devel:22,develop:[0,20],deviat:[6,22],devis:6,diagon:[3,4,5,8],dict:[1,3,4,7,8,9,11,12,13,14,16,17,18,19],dictionari:9,did:9,didn:22,differ:[0,1,2,3,4,5,6,8,9,14,15,18,19,20,21,22,23],differenct:[3,4],difficult:6,digit:[1,3,4,21],dimens:[0,6,22],dimension:[1,3,6,15,21],direct:[0,3,4,15,21],directli:[1,3,4,6,7,8,9,12,13,14,16,17,18,19,22],directori:[1,20,22],disadvantag:0,discuss:[20,21],disjoint:6,disk:[1,2,9,22],distanc:[0,1,3,4,6,7,8,12,13,14,15,16,17,18,19,21],distinct:0,distinguish:23,distribut:20,divid:[0,1,5,6,7,8,9,12,13,14,16,17,18,19,22],doc:[7,8,9,12,13,14,16,17,18,19],docstr:9,document:[3,4,7,8,9,12,13,14,16,17,18,19,20,23],doe:[0,1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,21,22],doesn:[3,4,5,6,8,14,19,22],doing:[0,1,2,5,6,9,21,22],domin:5,don:[0,1,2,3,4,5,6,9,19,20,21,22],done:[2,5,6,16,17,18,19,20,21,22,23],dot:[3,4,5,21,22],down:[0,6,9,22],download:11,downsid:22,drd:[2,9,19,21],drive:23,drop:2,drr:[2,9,19,21],dtype:1,due:[1,21],duplic:[3,4,7],dure:[1,3,4,7,8,12,13,14,16,17,18,19,21],dynam:0,each:[0,1,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],earli:0,earth:[0,1,3,15],easier:[1,21,22],easiest:20,edg:[0,3,6,9,22],edu:[3,4,5,16],effect:[0,9,21,22],effici:[1,2,6,8,20,22],either:[0,1,3,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],element:[1,7,8,12,13,14,16,17,18,19,21,23],els:[1,7,12,13,16,17,18,21],empir:6,enabl:[2,5,8,22,23],encapsul:1,encourag:2,end:[0,1,6,7,8,12,13,14,15,16,17,19,20,21,22],energi:22,enforc:4,enough:[5,6,22],ensur:21,enter:1,entir:[1,22],entri:[3,4,7,8,12,13,14,16,17,18,19,23],equal:[0,3,5,6,7,8,9,12,13,14,16,17,18,19,22],equat:8,equiv:[6,15,22],equival:[0,1,3,15,21,22],error:[0,1,3,4,6,20,21,23],escal:22,especi:[0,1,2,8,9,21,22],essenti:[0,20,21,22],estim:[1,3,4,6,7,8,9,11,12,13,14,16,17,18,19,21,22],estimate_cov:[2,3,4,5,18],estimate_multi_cov:[2,3,5,18],etc:[1,4,7,8,9,12,13,14,16,17,18,19,20,21],euclidean:[0,2,3,4,7,8,9,11,12,13,14,16,17,18,19,20,21],even:[0,5,6,8,9,22],evenli:6,everi:[0,1,3,15,21],every_nth:[1,21,22],everyon:9,everyth:[19,22],exact:[0,3],exactli:[0,2,3,4,21],exampl:[0,3,5,9,12,13,14,17,20,21,22],exce:21,except:[3,4,15],exclud:[0,3,4,5],execut:[2,11,20,21],exist:[1,6,22],exp:[7,8,12,13,14,16,17,18,19,21],expand:9,expect:[0,3,4,19,22,23],explan:[7,16],explicitli:[1,2,3,21,22,23],ext:[1,21],extens:[1,3,4,7,8,12,13,14,16,17,18,19,21,23],extent:[6,21],extra:[1,5,15,21,23],extrem:[20,22],fact:[3,5,12,13,14,17],factor:[6,21,22],fail:22,failur:[6,22],fairli:[0,6,8,22],fall:[0,2,3,5,8,14,19],fals:[0,1,2,3,4,6,7,8,12,13,14,16,17,18,19,21,23],far:[2,4,9],farm:9,farther:15,fast:[5,6,22],faster:[0,2,20,22],feasibl:0,featur:[3,4,11],fee:20,feedback:2,fell:[1,3,7,8,12,13,14,16,17,18,19],few:[0,3,4,5,6,15,22],ffi:20,field:[1,3,4,5,7,8,9,11,12,13,14,16,17,18,19,21,22],figur:0,file1:[20,21,23],file2:[20,21,23],file3:21,file:[2,3,4,6,7,8,9,11,12,13,14,16,17,18,19,20,22],file_list2:21,file_list3:21,file_list:[1,21],file_nam:[1,7,8,9,12,13,14,16,17,18,19,20,21,23],file_name1:9,file_name2:[1,9,21],file_name3:21,file_typ:[1,7,8,12,13,14,16,17,18,19,21,23],filenam:21,files_name2:21,fill:20,find:[0,2,3,5,6,9,20,22],fine:[0,9],finish:[0,7,8,9,12,13,14,16,17,18,19],first:[1,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,21,22],first_row:[1,21],fisher:[3,15],fisherrperp:[3,11],fit:[1,7,8,9,12,13,14,16,17,18,19,20,21,22],fitsio:[1,20],fitsread:1,fix:11,flag:[1,9,21],flag_col:[1,21],flag_ext:[1,21],flat:[0,1,3,4,6,7,8,9,12,13,14,15,16,17,18,19,21],flip:[1,9,21],flip_g1:[1,21],flip_g2:[1,21],fluctuat:[3,13,14],fluctut:20,fname:22,folder:20,follow:[0,1,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,22,23],footprint:22,forc:[0,1,2,3,4,6,20,21,22],foreground:[16,17,20,21],forg:20,form:[3,6,7,16,18,20,21,23],format:[21,23],former:0,formul:21,formula:[8,15,16,19,21],fortun:22,found:[0,3,4,6,20,22],four:[0,4],fourth:21,frac:[4,5,6,7,15,16,18,22],fraction:[0,6,21,22],free:[20,22],freebsd:20,from:[0,1,3,4,5,6,7,8,10,11,12,13,14,15,16,17,18,19,20,21,22],from_nam:23,front:20,full:[0,1,3,4,5,6,7,8,12,13,14,15,16,17,18,19,22,23],full_cat:22,fulli:22,func:[2,3,4,5],funciton:7,further:[1,6,9],furthermor:[0,1,9,21,22],futur:20,fuzzi:0,g1_col:[1,9,20,21],g1_ext:[1,21],g1_valu:9,g1g2g3:8,g1g3g2:8,g2_col:[1,9,20,21],g2_ext:[1,21],g2_valu:9,g2g1g3:8,g2g3g1:8,g3g1g2:8,g3g2g1:8,gain:22,galaxi:[9,15,16,17,20,21,22],gam0:[4,8],gam0i:[8,21],gam0r:[8,21],gam1:[4,8],gam1i:[8,21],gam1r:[8,21],gam2:[4,8],gam2i:[8,21],gam2r:[8,21],gam3:[4,8],gam3i:[8,21],gam3r:[8,21],gamma1:20,gamma2:20,gamma:[4,6,7,8,20,21],gamma_0:[8,21],gamma_1:[8,21],gamma_2:[8,21],gamma_3:[8,21],gamma_:[12,16],gamma_t:[9,12,16],gamsq:[7,21],gamsq_:7,gamsq_b:7,gamt:[16,21],gamx:[16,21],garbag:[1,6],gave:22,gcc:2,gener:[1,3,4,6,8,9,15,20,22],geometr:0,geometri:[1,6,8,9,20,22],get:[0,1,3,4,5,6,7,11,12,13,15,16,17,18,19,20,21,22,23],get_from_list:23,get_near:6,get_patch:1,get_patch_cent:1,get_patch_file_nam:1,get_rank:22,getgfield:[1,6],getgsimplefield:[1,6],getkfield:[1,6],getksimplefield:[1,6],getnfield:[1,6],getnsimplefield:[1,6],getstat:[3,4,7,8,14,18,19],getweight:[3,4,7,8,14,18,19],gfield:[1,6],gg_file_nam:[1,20,21,23],ggconfig:22,ggcorrel:[3,5,6,9,11,16,18,20,22],ggg:[2,4,8,20],ggg_file_nam:21,gggcorrel:[4,6,9,11],gggcrosscorrel:[4,8],git:20,github:20,give:[0,1,3,4,5,6,8,21,22,23],given:[0,1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,21,22,23],global:22,gmail:20,goe:[0,2,21,22],going:[1,7,8,12,13,14,16,17,18,19,21],good:[0,3,4,6,9,22],great:[3,4,15],group:[1,21],gsimplefield:[1,6],guid:[11,20],h5py:[1,20],had:[2,7,8,12,13,14,16,17,18,19,22],half:[0,6],hand:[1,21],handl:[0,3,4,7,8,12,13,14,16,17,18,19],happen:[1,5,6,21,22],happi:22,harder:2,harvard:[3,4,5,16],has:[0,1,2,3,4,5,6,9,18,19,21,22,23],hat:21,have:[0,1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],hdf5:[1,2,20,21],hdf:[1,21],hdfreader:1,hdu:21,head:23,heart:9,heavili:22,help:[0,3,4,21,23],helper:[1,3,4,23],here:[1,3,4,5,7,8,9,12,13,14,16,17,18,19,20,21,22,23],hermitian:8,heterogen:2,high:[0,6,22],higher:[0,6],highest:[3,4],highli:20,histogram:21,histori:11,hoekstra:16,hold:[1,6,7,8,12,13,14,16,17,18,19,22],honest:9,host:20,hour:[0,1,3,4,9,21],how:[0,1,3,4,6,7,8,9,12,13,14,15,16,17,18,19,21,22],howev:[0,1,3,4,5,6,8,9,15,19,21,22,23],html:20,http:[3,4,5,6,16,20],i_i:[6,22],idea:22,ideal:[5,6,22],ident:[8,14,19],identifi:[6,8,14,15,19],ignor:[1,3,4,7,8,12,13,14,16,17,18,19,21,23],ignore_flag:[1,21],imag:[1,7,8,9,12,16,21],imaginari:[3,7,12,16,21],impact:[0,15],implement:[0,2,4,5,6,7,9],impli:21,implicitli:[0,1,3],importatnt:15,imprecis:0,improv:[11,20,22],includ:[0,1,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],incorpor:9,incorrect:[3,4],increas:6,incred:23,inde:[0,6],independ:21,index:[0,1,11],indic:[0,1,3,6,8,21,22,23],indirectli:[1,21],individu:[0,1,5,15,22],induc:21,indx:1,inertia:[6,22],inform:[1,3,4,5,6,7,8,9,12,13,14,16,17,18,19,20,21,22,23],infti:[7,18],inher:0,ini:23,init:[1,6,21,22],initi:[1,2,6,7,8,12,13,14,16,17,18,19,22,23],inject:21,input:[0,2,3,4,5,7,8,9,11,12,13,14,16,17,18,19,20,23],input_cat:9,inspect:22,instal:[11,23],instanc:[0,1,3,4,5,6,7,8,12,13,14,16,17,18,19,20,22],instanti:6,instead:[0,1,6,7,9,12,13,16,17,18,21,22],insuffici:9,int_0:7,int_:[7,16,18],integ:[0,1,3,4,6,22,23],intend:[3,4],intention:22,interest:[0,3,4,5,9,20,22],interfac:1,intern:0,interpret:9,intertia:22,intial:6,intrins:22,invalid:[0,1,15,21],invalu:0,invari:21,invers:6,investig:[0,15,22],involv:[1,2,3,4,5,6,9,18,20,21],is_rand:1,isgcolrequir:1,iskcolrequir:1,isn:1,issu:[0,2,6,7,12,13,16,17,18,20,21],item:[1,2,3,7,8,12,13,14,16,17,18,19,21,23],iter:[6,22],its:[1,5,6,20,21,22],itself:[5,6,22],jackknif:[1,2,3,4,6,11,21,22],jain:[8,20],jarvi:[8,20],job:[3,4,21,22],join:[0,8,21],joint:5,json:23,jupyt:[11,20],just:[1,2,3,4,5,6,9,15,19,21,22,23],k1k2k3:14,k1k3k2:14,k2k1k3:14,k2k3k1:14,k3k1k2:14,k3k2k1:14,k_2:8,k_3:8,k_col:[1,9,21],k_ext:[1,21],kappa:[1,3,4,6,9,11,20,21],keep:[0,1,2,3,4,5,6,8,14,19,21],keep_zero_weight:[1,21],kei:[1,23],kept:[8,14,19],keyword:[1,3,4,7,8,9,12,13,14,16,17,18,19,23],kfield:[1,6],kg_file_nam:21,kgamt:[12,21],kgamx:[12,21],kgcorrel:[3,6,9,11],kgg:4,kilbing:8,kind:[1,3,4,5,6,9,20,21,23],kk_file_nam:21,kkcorrel:[3,6,9,11],kkk:[2,14,20],kkk_file_nam:21,kkkcorrel:[4,6,9,11],kkkcrosscorrel:[4,14],kmean:[1,6,21,22],kmeans2:22,kmeans_alt:[1,21,22],kmeans_assign_patch:6,kmeans_init:[1,21,22],kmeans_initialize_cent:6,kmeans_radec:22,kmeans_refine_cent:6,know:[1,2,5,6,15,19,20,22],known:[6,8,21],ksimplefield:[1,6],kwarg:[1,3,4,6,7,8,12,13,14,16,17,18,19,23],l_x:15,l_y:15,l_z:15,label:6,laila:2,lambda:[3,4,5],landi:[1,9,16,18,19,21],landscap:22,langl:[1,6,7,8,12,13,14,16,17,18,19,22],larg:[0,5,6,8,14,15,19,21,22],larger:[0,6,8,14,19,21,22],largest:[6,21],last:[0,1,2,5,9,20],last_row:[1,21],later:20,latest:20,latter:[1,6,20],law:[0,9],layer:[1,3,4,6,21,22],lead:[0,5,6,22],leaf:[0,3,4,21],least:[1,5,6,18,19,21,22],leav:[0,1,3,4,6,21],left:[0,6,7,15,16,18,22],left_edg:[0,3],leg:19,legaci:23,len:[3,15,16,22],len_cat:22,lenght:4,length:[1,3,4,7,8,12,13,14,16,17,18,19],lens:[3,6,15,16,17,20,21],lens_cat:[5,9,22],lens_config:22,lens_fil:[9,22],less:[4,5,6,19,21,22],let:[0,1,2,5,6,9,20,21],letter:[12,13,14,17],level:[0,1,3,4,6,7,8,12,13,14,16,17,18,19,21,22,23],lib:20,libffi:20,librari:[20,23],licens:20,lieu:[6,21,23],life:22,light:15,like:[0,1,2,3,4,6,9,19,20,21,22,23],likewis:[0,2,3,18,19],limit:[15,19,21],line:[0,1,3,4,5,8,11,20,21,23],linear:[3,9,11],linearli:[0,4],link:2,linux:20,list:[1,2,3,4,5,6,7,8,9,12,13,14,16,17,18,19,21,23],list_kei:1,liter:6,littl:[0,7,8,12,13,14,16,17,18,19],load:[1,11,22,23],local:[0,6,20,22],locat:[0,6,8,16,17,19,22],log:[1,3,4,7,8,9,11,12,13,14,15,16,17,18,19,20,21,23],log_2:[1,3,4,6],log_fil:[1,3,4,21,23],logarithm:[0,3,7,12,13,16,17,18,19],logger:[1,3,4,6,7,8,12,13,14,16,17,18,19,23],logging_level:23,logic:1,logr1d:[8,14,19],logr:[0,1,7,8,9,12,13,14,16,17,18,19],logruv:4,loh:5,lombardi:[8,20,21],longer:[2,20,22,23],longest:[8,14,19],look:[20,22,23],loss:[7,8,12,13,14,16,17,18,19],lot:[2,20,23],low:[2,22],low_mem:[1,7,8,12,13,14,16,17,18,19,22],lower:[0,6,22],lowest:6,lru:1,lss:9,lsstdesc:20,m2_file_nam:21,m2_uform:[3,7,8,16,18,21],machin:[9,20,22],made:[1,5,20,21,22],magic:22,magnitud:[6,20],mai:[0,1,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],main:[0,1,9],make:[0,1,3,4,5,6,7,8,9,12,13,14,16,17,18,19,20,21,22],makearrai:1,mani:[0,1,3,4,5,6,7,8,9,12,13,14,16,17,18,19,20,21,22],manner:5,manual:[11,22],map2mx:8,map3:8,map:[2,8,21],mapmapmx:8,mapmx2:8,mapmxmap:8,mapmxmx:8,mapsq:[7,16,21],mapsq_im:7,marina:2,mark:[3,4,5],marked_bootstrap:[3,4,11],mask:[9,18,19,21],mass:[3,5,7,8,16,18,21],massiv:6,match:[0,1,3,4],materi:5,mathbf:8,mathrm:[1,5],matrix:[0,3,4,7,8,11,12,13,16,17,18,22],matter:[0,8,14,19],max:[1,3,4,6,15],max_it:6,max_rpar:[2,3,15,21],max_sep:[0,1,3,4,5,6,7,8,9,12,13,14,16,17,18,19,20,21],max_siz:[1,6],max_top:[1,3,4,6,21],max_u:[4,8,14,19,21],max_v:[4,8,14,19,21],maximum:[0,1,3,4,6,7,8,9,12,13,14,15,16,17,18,19,21],maxsiz:1,mayb:[0,9,20,23],mean:[0,1,3,4,6,7,8,9,11,12,13,14,15,16,17,18,19,21],meand1:[8,14,19,21],meand2:[8,14,19,21],meand3:[8,14,19,21],meani:6,meanlogd1:[8,14,19,21],meanlogd2:[8,14,19,21],meanlogd3:[8,14,19,21],meanlogr:[0,1,7,8,9,12,13,14,15,16,17,18,19,21],meanr:[0,1,7,8,12,13,14,15,16,17,18,19,21],means_clust:6,meant:15,meanu:[8,14,19],meanv:[8,14,19],meanx:6,meanz:6,measur:[0,3,4,5,6,9,12,17,21,22],median:[1,3,4,6,21],memori:[1,2,7,8,11,12,13,14,16,17,18,19],meng:5,mention:[5,22],mere:23,merg:23,merge_config:23,mess:22,messag:20,mesur:5,method:[1,3,4,6,7,8,9,11,12,13,14,16,17,18,19,21,22],metric:[0,2,3,4,7,8,9,11,12,13,14,16,17,18,19,21,22],middl:[1,3,4,6,21],midpoint:6,might:[0,1,3,4,5,6,9,19,20,22],mike:20,mikejarvis17:20,million:[6,22],min:15,min_rpar:[2,3,15,21],min_sep:[0,1,3,4,5,6,7,8,9,12,13,14,16,17,18,19,20,21],min_siz:[1,6],min_top:[1,3,4,6,21],min_u:[4,8,14,19,21],min_v:[4,8,14,19,21],minibatchkmean:22,minim:[6,22],minimum:[0,1,3,4,6,7,8,9,12,13,14,15,16,17,18,19,21,22],minut:22,miscellan:[11,23],miss:[5,21],mix:21,mmxa:[7,21],mmxb:21,mnra:[3,8,15,20],mock:5,mode:[6,9,21,22],modifi:[6,23],modul:11,modulo:3,more:[0,1,2,3,4,5,6,8,9,14,15,18,19,20,21,22,23],most:[0,1,2,3,4,5,6,8,9,15,22,23],mostli:2,mpc:15,mpi4pi:[7,8,12,13,14,16,17,18,19,22],mpi:[2,7,8,9,11,12,13,14,16,17,18,19],mpiexec:22,mu_i:[6,22],much:[0,1,2,3,4,9,21,22],multi:20,multi_cov:5,multipl:[1,3,5,7,8,9,12,13,14,16,17,18,19,21,22,23],must:[1,19],mutipl:1,mx3:8,mxmapmap:8,mxmapmx:8,mxmxmap:8,mxsq:[7,21],mxsq_im:7,my_config_fil:23,myself:22,n1n2n3:19,n1n3n2:19,n2n1n3:19,n2n3n1:19,n3n1n2:19,n3n2n1:19,n_i:[6,22],name:[0,1,2,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],nan:[1,2,21],nap:21,napsq:[16,21],nativ:[9,22],natur:[0,7,8,12,13,16,17,18,19,20,21,22],nbin:[0,3,4,5,7,8,9,12,13,14,16,17,18,19,21],nearbi:6,nearli:[0,15],necessari:[1,7,9,21],necessarili:[5,9,15,23],need:[0,1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],neg:4,neighbor:22,neither:16,net:20,never:[6,22],new_cat:1,next:[0,2,3,4,6,22],nfield:[1,6],ng_file_nam:[1,21],ng_statist:21,ngconfig:22,ngcorrel:[3,5,6,9,11,18,22],ngg:2,nk1:5,nk2:5,nk_file_nam:21,nk_statist:21,nkcorrel:[3,5,6,9,11],nm_file_nam:21,nmap:[16,21],nmap_norm:[16,21],nmx:[16,21],nn_config:5,nn_file_nam:21,nn_statist:21,nncorrel:[3,5,6,9,11,16],nng:[2,4],nnn:[2,5,9,19,20,21],nnn_file_nam:21,nnn_statist:21,nnncorrel:[2,4,5,6,9,11],nnncrosscorrel:[4,19],nobj:1,node:[6,21,22],nois:[1,3,4,5,7,8,9,12,13,14,16,17,18],nomin:[0,7,8,9,12,13,14,15,16,17,18,19,20,21],non:[0,1,2,3,4,15,17,21,22],none:[1,3,4,6,7,8,12,13,14,16,17,18,19,21,23],nontrivial_w:1,nonzero:[3,4,8,14,19],norm_file_nam:21,normal:[0,1,3,4,5,6,9,15,16,18,19,20,21,22,23],nosetest:20,notabl:[0,1],notat:21,note:[0,2,3,4,5,15,19,22],notebook:[9,20,22],notic:22,now:[2,5,9,15,20,21,22],npair:[1,3,7,12,13,16,17,18,21],npatch:[1,5,6,21,22],nsimplefield:[1,6],nsq:18,nsq_mapsq:[16,21],nth:1,ntoplevelnod:6,ntot:[1,6,21],ntri:[4,8,14,19,21],nubin:[4,8,14,19,21],num:[1,23],num_bootstrap:[3,4,5],num_thread:[1,3,4,7,8,12,13,14,16,17,18,19,21],number:[0,1,2,3,4,5,6,7,8,9,12,13,14,16,17,18,19,20,21,22,23],numer:5,numpi:[1,3,4,6,7,8,11,12,13,14,16,17,18,19,20,22],nvbin:[4,8,14,19,21],object:[0,1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,21,22,23],observ:[3,4,5,12,21],obviou:21,occur:5,odd:0,off:[1,3,4,5,19,21],offer:[6,8,21],offici:2,often:[1,3,4,7,8,9,12,13,14,15,16,17,18,19,20,21,22],oject:[7,8,12,13,14,16,17,18,19],ok_flag:[1,21],old:[2,15],older:21,oldrperp:[3,11],omit:[0,9,21,23],onc:[1,5,6,20,22],one:[0,1,2,3,4,5,6,7,8,12,13,14,15,16,17,18,19,20,21,22,23],ones:[8,9,14,19,22,23],onli:[0,1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],onto:0,open:[0,6,7,12,13,15,16,17,18,20],openmp:[1,3,4,7,8,12,13,14,16,17,18,19,20,21,22],oper:20,opposit:[8,14,19],optim:1,option:[1,2,3,4,5,6,8,9,11,15,21,22,23],orang:22,order:[3,4,8,14,19,20,21],org:6,orient:4,origin:[0,3,5,9,15,22],other:[3,4,5,6,7,8,11,12,13,14,15,16,17,18,19,20,21],otherwis:[1,7,8,12,13,14,16,17,18,19,21,23],our:[6,20],out:[0,2,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],out_file_nam:9,outer:22,output:[1,2,3,4,7,8,9,11,12,13,14,16,17,18,19,20,23],output_dot:[3,4,21],outsid:3,outskirt:6,over:[0,1,3,4,9,21,22,23],overal:[1,5,6,22],overflow:22,overlap:0,overrid:[1,21],overridden:[4,21],overview:11,overwrit:22,own:9,p_1:15,p_2:15,packag:[6,20,22],page:[9,11],painfulli:1,pair:[0,1,3,4,7,9,12,13,15,16,17,18,20,21,23],pairwis:[3,6],panda:[1,20],pandasread:1,paper:[16,20],par:1,paradigm:8,parallel:[0,6,15,20,21],param:[20,23],paramet:[0,1,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,18,19,20,22,23],parameter:[8,14,19],parametr:19,paramt:1,pariti:21,parquet:[1,2,21],pars:[21,23],parse_bool:23,parse_unit:23,parse_vari:23,part:[3,7,8,9,12,14,15,16,19,21,22],particular:[0,1,3,4,5,15,21,22,23],particularli:[1,15,22],pass:[1,3,4,5,7,8,12,13,14,15,16,17,18,19,22,23],past:5,patch:[1,2,3,4,5,6,7,8,9,11,12,13,14,16,17,18,19,21],patch_cent:[1,5,21,22],patch_col:[1,21,22],patch_ext:[1,21],path:[15,20],pattern:[5,7,8,9,12,13,14,16,17,18,19],peak:[0,22],penal:[6,22],penalti:[6,22],peopl:[20,22],per:[1,7,12,16],percent:0,percentil:6,perfectli:0,perform:[0,3,4,9,11,20,21,22,23],period:[2,3,4,11,21],permiss:[0,20],permuat:2,permut:[8,14,19],perpendicular:[3,15],persist:1,physic:0,piec:1,pip:20,place:[0,1,3,4,6,12,13,14,15,17,22],placement:[3,4],plan:20,plane:20,platform:2,pleas:[0,6,7,12,13,16,17,18,20],plot:[9,22],plu:[3,4],point:[0,1,2,5,6,7,8,11,12,13,14,15,16,17,18,19,21,22,23],poisson:[3,4,5],poor:6,popular:21,portion:0,posit:[0,1,3,4,6,8,9,14,15,19,20,21,22],possibil:3,possibl:[0,1,3,4,6,8,9,14,16,17,18,19,22],post:[5,20],potenti:[20,22],power:[0,9],practic:[21,22],precalcul:21,preced:[3,4,23],precis:[0,1,3,4,7,8,12,13,14,15,16,17,18,19,21],precomput:22,predict:0,prefer:[0,1,3,4,7,8,12,13,14,16,17,18,19,23],prefix:20,prescript:[3,5],presenc:1,present:[2,5,22],preserv:15,pretti:[0,22],prevent:5,previou:[2,6,11],previous:20,prime:[6,19],print:[21,22,23],print_corr2_param:23,print_corr3_param:23,print_param:23,prior:[1,3,4,15],probabl:[0,2,3,4,5,6,9,15,20,21,22],problem:[2,6,20,22],problemat:15,procedur:22,process:[0,1,2,3,4,5,6,7,8,9,12,13,14,16,17,18,19,20,21,22],process_auto:[7,8,9,13,14,18,19],process_cross12:[8,14,19],process_cross:[7,8,9,12,13,14,16,17,18,19],process_pairwis:[7,12,13,16,17,18],produc:[5,6,9,21,22],product:[5,9],profil:[16,21],program:[20,23],progress:[1,3,4,21],project:[0,8,9,21],propag:[5,7,8,12,13,14,16,17,18],properli:[2,22],properti:[1,3,4,6,8,12,14,19],propos:8,provabl:22,prove:6,provid:[1,2,3,4,6,9,15,16,17,18,19,20,21,22,23],proxi:22,publish:20,pure:[6,8],purpos:[0,1,6,15,21,22],put:[0,5,9,20,21],pyclust:22,python3:20,python:[2,9,11,22],pythonpath:20,pyyaml:20,qquad:[7,16,18],qualiti:22,quantiti:[1,2,3,6,11,17,20,23],quartil:[1,3,4,21],question:[20,21],quick:1,quickli:[0,6],quit:0,quot:21,r_1:15,r_2:15,r_col:[1,21],r_ext:[1,21],r_nom:[7,8,12,13,14,16,17,18,19,21],ra_col:[1,9,20,21],ra_ext:[1,21],ra_unit:[1,6,9,20,21],radial:15,radian:[0,1,3,4,7,8,12,13,14,16,17,18,19,21,23],radii:2,radiu:[1,6,7,8,16,21],rais:[1,18,19],rand:[5,9,19],rand_cat:[1,19],rand_config:5,rand_fil:[9,21],rand_file_list2:21,rand_file_list3:21,rand_file_list:21,rand_file_nam:21,rand_file_name2:21,rand_file_name3:21,rand_list:9,random:[1,2,3,4,6,11,16,17,18,19,21,22],randomli:[6,22],randomst:[1,3,4,6],rang:[0,1,3,4,20,21],rangl:[1,6,7,8,12,13,14,16,17,18,19,22],rangle_:7,rangle_b:7,rank:[7,8,12,13,14,16,17,18,19,22],rather:[0,1,2,3,5,6,9,15,19,20,21,22],ratio:[0,3,5,8,16],ratti:22,ravel:[3,4,7,8,14],raw:[5,9,16,17,21],raw_varxi:[16,17],raw_xi:[16,17],raw_xi_im:16,rawxi:[16,17],rdd:[2,9,19,21],rdr:[2,9,21],reach:6,read:[1,2,7,8,9,12,13,14,16,17,18,19,20,21,22,23],read_catalog:1,read_config:23,read_patch:1,read_patch_cent:1,reader:11,readjust:[3,4],readthedoc:20,real:[0,3,5,7,8,9,12,16,21,22],realist:15,realli:[0,1,2,12,13,14,15,19,21,22],reason:[0,2,6,8,9,22],reassembl:9,rebuild:1,recalcul:3,recarrai:1,recent:1,recommend:[0,5,9,22,23],record:[5,20],recov:1,rectangular:0,red:22,redo:5,reduc:[7,8,11,12,13,14,15,16,17,18,19,21],refer:[1,3,6,15,16,20,21],regardless:[8,14,19],region:[0,6,22],regular:[6,7,8,12,13,14,16,17,18,19,20,22],rel:[0,5,6,8,14,15,19,20,22],relat:[0,3,4,8,9,11,16,21],releas:[2,20],relev:[1,2,3,4,6,8,9,14,15,19,21,23],reliabl:22,remak:2,remov:[1,6,7,12,13,16,17,18],reorder:5,repackag:6,repeat:[5,6,15,22],repeatedli:1,repetit:[3,4,5],replac:[3,4,5],repo:9,report:[2,11,23],repositori:20,repr:[7,8,12,13,14,16,17,18,19],repres:[1,6,9,15,16,17],represnt:22,request:[6,11],requir:[0,1,2,3,4,5,6,15,20,21,22,23],reran:22,resampl:[3,4,5],research:20,resiz:1,resize_cach:1,resolut:0,respect:[0,5,6,8,9,21,22,23],respons:2,rest:21,restrict:11,result:[0,3,4,5,6,8,9,20,21,22],retir:2,reus:1,revers:18,rewrit:2,ricci:2,right:[0,1,6,7,9,15,16,18,22],right_edg:[0,3],rlen:[2,3,11],rmax:[7,16,18],rmjarvi:20,rms:[6,22],rng:[1,3,4,6],rnom1d:8,rnom:[0,7,8,12,13,14,16,17,18,19],root:[1,6,21,23],roughli:[0,5,9,22],round:[3,4],routin:8,row:[1,2,21,22],row_count:1,rparallel:[3,21],rperp:[3,11],rperp_alia:3,rrd:[2,9,21],rrr:[9,19,21],rule:23,run:[1,2,5,6,7,8,9,11,12,13,14,16,17,18,19,21,23],run_kmean:[1,6,21,22],run_with_mpi:22,runawai:22,runtimeerror:[18,19],s_i:[6,22],sacrific:[7,8,12,13,14,16,17,18,19],safe:22,sai:[1,15,20,21,22],same:[0,1,3,4,5,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],sampl:[3,4,6,7,8,11,12,13,14,16,17,18,19,20,22,23],sample_config:23,sample_pair:3,save:[1,5,9,22],save_patch_dir:[1,22],scalar:[1,3,5,6,9,12,13,14,17,20,21],scale:[0,5,6,20,21],scatter:[0,3,4,5,22],scenario:22,schenid:21,schneider:[7,8,16,18,20,21],scienc:[0,15,22],scientif:21,scipi:22,screen:21,script:[20,21,22,23],search:[1,11],sec:20,second:[1,3,4,6,7,8,12,13,14,15,16,17,18,19,21,22,23],section:[1,8,21,23],see:[0,1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],seed:22,seem:[5,22],seen:0,select:[1,3,4,5,6,21,22],self:[1,3,4,6,7,8,12,13,14,16,17,18,19],semi:21,send:22,sens:[3,4,7,8,12,13,14,16,17,18,19,22],sent:22,sep:[3,6,21],sep_unit:[3,4,6,7,8,9,11,12,13,14,16,17,18,19,20,21],separ:[0,1,3,4,5,6,7,8,9,11,12,13,14,16,17,18,19,21],sequenc:[1,22],set:[0,1,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,21,22,23],settabl:6,settl:6,setup:20,setup_logg:23,sever:[3,5,6,8,9,21,22],shape:[1,3,4,5,6,7,8,9,12,14,16,17,19],shear:[0,1,3,4,5,6,11,17,20,21,22],shift:[0,6],shortli:9,shot:[1,3,4,7,8,11,12,13,14,16,17,18],should:[0,1,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],show:[0,2],shown:1,side:[0,4,8,14,19],sig_gam:[7,21],sig_map:[7,8,21],sig_mapsq:[16,21],sig_napsq:[16,21],sig_nmap:[16,21],sig_nn_mm:[16,21],sig_norm:[16,21],sight:11,sigma:[12,16,17,21],sigma_gam0:8,sigma_gam1:8,sigma_gam2:8,sigma_gam3:8,sigma_gam:21,sigma_xi:[13,18,21],sigma_xim:7,sigma_xip:7,sigma_zeta:[14,19,21],sign:[0,1,4,9,15,21],signal:[0,5,9,18],signficantli:20,signific:15,significantli:[0,5,6,8,9,14,15,19,20],simiar:21,similar:[1,3,4,5,6,9,16,20,22],similarli:[0,9,16,19,21],simpl:[1,8,16,17,18,21,22],simplefield:6,simpler:9,simplest:[1,5,9,19,22],simpli:[1,3,5,22],simul:0,simulu:15,sin:15,sinc:[0,1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22],singh:0,singl:[1,3,4,5,7,8,9,12,13,14,16,17,18,19,21,22],site:20,situat:[8,9,14,19],six:[2,8,14,19],size:[0,1,6,7,8,9,12,13,14,16,17,18,19,20,21,22],skew:[8,21],skip:[0,1,6,9,21],skl:8,sklearn:22,sky:[0,15,20,21,22],slate:[6,7,12,13,16,17,18],slice:1,slight:0,slightli:[0,3,5,6,9,20,22],slop:[0,3,4],slow:[1,22],slower:[0,6,15,20],slowest:20,small:[0,5,6,15,22],small_cat:22,smaller:[0,6,22],smallest:15,smartli:6,smooth:21,softwar:20,solut:[6,21,22],some:[0,1,2,3,4,5,6,8,9,12,15,20,21,22,23],somehow:6,someth:[2,3,5,7,12,13,16,17,18,20,21,22],sometim:[0,5,21],somewhat:[5,6,22],somewher:[1,3,4,6,20,22],sooner:20,sort:6,sourc:[1,3,4,6,7,8,12,13,14,15,16,17,18,19,20,21,22,23],source_cat:[5,9,22],source_config:22,source_fil:[9,22],space:[0,9,15,21,22],span:0,sparser:22,spatial:[5,22],specif:[0,1,2,4,5,6,9,15,20,21,22,23],specifi:[0,1,3,4,5,6,9,20,21,22,23],specifii:22,speed:[6,7,8,12,13,14,16,17,18,19,20],speedup:0,spent:6,sphere:[1,4,6,9,15],spheric:[1,3,4,6,7,8,12,13,14,15,16,17,18,19,21],sphinx:20,spinor:[1,6],split:[1,3,4,5,6,8,14,19,21,22],split_method:[1,3,4,6,21],spread:[6,21],sqrt:[7,8,12,13,14,15,16,17,18,19],squar:6,stabl:[20,22],stage:20,standalon:20,standard:[1,3,4,6,7,8,14,18,19,22],star:[6,12,22],start:[0,1,3,4,5,6,11,20,21,22,23],state:[1,9],statist:[0,3,4,5,7,8,9,14,16,18,19,21],statistc:3,std:6,stdout:23,step:[1,3,4,5,6,7,8,9,12,13,14,16,17,18,19,22],still:[0,2,6,23],stop:[0,3,4,6,21],storag:[7,8,12,13,14,16,17,18,19],store:[1,3,4,6,9,20],str:[1,3,4,6,7,8,12,13,14,16,17,18,19,21,23],straight:[3,4],straightforward:[20,22],string:[1,3,4,8,9,14,15,19,23],strongli:22,structur:[1,3,4,6,22,23],studi:21,stuff:[6,22],sub:[1,3,4,6],subclass:6,subsequ:22,subset:[3,6],subtleti:0,subtract:19,success:0,sudo:20,suffer:[6,9],suffic:20,suffici:9,suggest:21,sum:[1,5,6,7,8,12,13,14,16,17,18,19,21,22],sum_:[6,22],sum_i:[5,6,22],sumw:1,sunset:2,support:[2,19,21],suppos:5,sure:[1,5,6,8,14,19,22],surprisingli:22,survei:[9,12,22],symmetr:0,symmetri:[8,14,19],syntax:1,system:[1,3,4,6,15,20,21],szalai:[1,9,16,18,19,21],szapudi:21,t_i:8,tabl:[1,9,21],take:[1,2,3,4,5,6,8,9,14,15,19,20,22,23],taken:[3,4,5,15,21],tangent:20,tangenti:[3,16,21],tarbal:20,target:[6,22],technic:[1,2,6,22],tell:[5,22],temp:22,temperatur:[3,13,14,20,21],temporari:22,tend:[0,1,5,6,22],tendanc:6,tendenc:6,term:[2,3,4,5,6,12,13,14,15,17,19,21,22],test:[0,6,11],test_requir:20,text:21,than:[0,1,2,3,4,5,6,9,15,19,20,21,22],thank:2,thei:[0,1,2,3,4,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],them:[1,2,6,7,8,9,12,13,14,16,17,18,19,20,21,22],theoret:0,therefor:[1,3,8,14,19,22],theta:15,thi:[0,1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],thing:[1,2,5,19,20,21,22],think:[0,2,22],third:[1,3,8,14,19,21],those:[1,3,4,6,7,8,9,12,13,14,15,16,17,18,19,20,21,23],though:[9,21],thread:[1,3,4,7,8,12,13,14,16,17,18,19,21],three:[2,3,6,8,11,14,19,21,23],through:[6,9],thu:[0,15,22],tightli:15,time:[1,3,4,5,6,7,8,12,13,14,16,17,18,19,20,22],tmp_dir:22,togeth:[7,8,12,13,14,16,17,18,19],token:1,tol:6,toler:6,tomograph:5,too:[0,1,22],tool:9,top:[0,1,3,4,6,21],top_edg:0,tophat:7,tot:[18,19],total:[0,1,5,6,7,8,9,12,13,14,16,17,18,19,21,22],touch:0,track:[0,1,2,3,4,5,6,8,14,19],trade:22,tradit:22,tradition:6,transport:0,trapezoid:0,travers:[0,1,6,21],treat:21,tree:[0,1,3,4,6,20,21,22],treecorr:[0,1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,22,23],treecorr_licens:20,tri:[1,2,23],triang:8,triangl:[2,4,8,9,14,19,20,21],trig:1,trigger:1,trigonometr:15,trim:1,tripl:8,trivial:15,troubl:20,tupl:[3,6,7,8,16,17,18,19,23],turn:[0,1,6,8,14,15,19,20,22],tutori:[11,20],twice:21,two:[0,1,4,5,6,7,8,11,12,13,14,15,16,17,18,19,21,22,23],twod:[3,4,9,11],txcov:5,txt:[20,23],type:[0,1,3,4,5,6,7,8,12,13,14,16,17,18,19,21,22,23],typic:[0,1,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22],u1d:[8,14,19],u_nom:[8,14,19,21],ubin_s:[4,8,14,19,21],unari:[3,4],unbias:21,uncertainti:21,uncompens:[9,16,17],uncorrect:[16,17],under:20,underestim:[7,8,12,13,14,16,17,18],understand:0,unfortun:9,uniform:[3,4,9,15,21,22],uniformli:[0,15],unit:[0,1,3,4,6,7,8,9,12,13,14,15,16,17,18,19,20,21,23],unless:[3,4,21],unlik:[1,8,15],unload:1,unnecessari:[1,15],unstabl:6,until:[1,5,6,7,8,12,13,14,16,17,18,19,22],updat:[2,6,9,20,23],upgrad:20,upper:22,upshot:6,usag:[7,8,12,13,14,16,17,18,19,20,22,23],use:[0,1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],used:[1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],useful:[0,1,2,6,9,15,20,21,23],user:[2,5,20,22],uses:[1,3,4,6,15,16,17,21,22,23],using:[0,1,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22],usual:[1,3,4,5,6,21,22,23],util:[11,22],v1d:[8,14,19],v_nom:[8,14,19,21],valid:[0,1,3,4,5,15,23],valid_nam:23,valid_param:23,valu:[0,1,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],value_typ:23,valueerror:1,var_method:[1,3,4,5,7,12,13,16,17,18],varg1:[7,8],varg2:[7,8],varg3:8,varg:[1,9,12,16],vargam0:8,vargam1:8,vargam2:8,vargam3:8,vargamsq:7,vargamsq_:7,variabl:[20,21,23],varianc:[1,3,4,7,8,9,11,12,13,14,16,17,18,19,21],variant:20,variat:[5,22],varieti:[0,2,20],variou:[1,3,4,8,9,12,13,14,15,17,20,21,22],vark1:[13,14],vark2:[13,14],vark3:14,vark:[1,12,17],varmap3:8,varmapsq:7,varnmap:16,varnsq:18,varxi:[5,9,12,13,16,17,18],varxim:[5,7],varxip:[5,7],varzeta:[14,19],vassilvitskii:22,vbin_siz:[4,8,14,19,21],vec:[6,22],vector:[1,3,4,5,6,7,15],verbos:[1,3,4,7,8,12,13,14,16,17,18,19,21,23],veri:[0,9,21,22],verif:22,versa:6,version:[1,3,4,6,7,10,11,12,13,15,16,17,18,20,21],via:[1,3,8,9,14,19,21,22,23],vice:6,w_col:[1,21],w_ext:[1,21],w_i:5,wai:[0,1,3,4,5,6,8,9,14,15,19,20,21,22,23],want:[0,1,2,3,4,5,6,9,15,19,20,21,22],warn:[1,3,4,20,21,23],wasn:[1,2],wcss:6,weak:[3,6,20],weakref:[1,6],weight:[0,1,3,4,5,6,7,8,9,12,13,14,16,17,18,19,20,21],well:[0,1,2,3,4,6,7,9,22],went:21,were:[1,3,5,9,21,22],what:[0,1,2,3,4,5,9,15,19,20,21,22,23],whatev:[0,1,5,21],when:[0,1,2,3,4,5,6,8,9,14,15,19,20,21,22,23],whenev:[1,3,4],where:[0,1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22],wherebi:3,wherein:1,whether:[0,1,3,4,6,7,8,12,13,14,15,16,17,18,19,21,22],which:[0,1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],whichev:[6,22],whitespac:[1,21],who:[0,2,20,22],whole:6,whose:[0,2,3,6,8,14,19,21,23],wich:23,wide:9,width:[0,3,4,21],wiki:6,wikipedia:6,within:[0,6,9],without:[1,3,4,5,15,22,23],won:[0,1,3,4,20,21,22],word:[1,15,22],work:[1,3,4,5,6,7,8,9,12,13,14,16,17,18,19,20,22],world:0,worri:20,wors:22,worth:22,would:[0,1,3,5,6,9,12,13,14,17,19,20,21,22,23],wouldn:1,wpo:[1,21],wpos_col:[1,21],wpos_ext:[1,21],write:[1,2,3,4,7,8,9,12,13,14,16,17,18,19,20,21,22,23],write_patch:[1,2],write_patch_cent:[1,22],write_patch_fil:22,writemap3:8,writemapsq:7,writenmap:16,writenorm:[16,18],written:[1,7,8,12,13,14,16,17,18,19,22],wrong:0,wrote:9,x_1:15,x_2:15,x_col:[1,9,21],x_ext:[1,21],x_imag:9,x_j:[6,22],x_unit:[1,21],x_valu:9,xi_:7,xi_i:5,xi_im:[3,5,12,16],xi_minu:20,xi_plu:20,xim:[3,5,7,9,20,21],xim_im:[7,21],xip:[3,5,7,9,20,21,22],xip_im:[7,21],xmax:21,xmin:21,xperiod:[3,4,15,21],y_1:15,y_2:15,y_col:[1,9,21],y_ext:[1,21],y_imag:9,y_unit:[1,21],y_valu:9,yaml:23,yes:23,yet:[1,3,4,7,8,12,13,14,16,17,18,19,20],yield:[3,4,22],you:[0,1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],your:[0,1,3,4,5,6,7,9,12,13,15,16,17,18,20,21,22],yourself:[3,20],yperiod:[3,4,15,21],z_1:15,z_2:15,z_col:[1,21],z_ext:[1,21],zero:[0,1,21,22],zeta:[4,8,9,14,19,21],zip:9,zperiod:[3,4,15,21]},titles:["Binning","Input Data","Changes from version 4.1 to 4.2","Two-point Correlation Functions","Three-point Correlation Functions","Covariance Estimates","Fields","GGCorrelation: Shear-shear correlations","GGGCorrelation: Shear-shear-shear correlations","Getting Started Guide","Previous History","TreeCorr Documentation","KGCorrelation: Kappa-shear correlations","KKCorrelation: Kappa-kappa correlations","KKKCorrelation: Kappa-kappa-kappa correlations","Metrics","NGCorrelation: Count-shear correlations","NKCorrelation: Count-kappa correlations","NNCorrelation: Count-count correlations","NNNCorrelation: Count-count-count correlations","Overview","Configuration Parameters","Patches","Using configuration files"],titleterms:{"class":[1,9],"function":[3,4,9,21,23],"new":2,The:[1,23],Use:22,Using:[9,20,22,23],about:21,accumul:9,api:2,arc:15,arrai:9,auto:9,bin:[0,9,21],bin_slop:0,bootstrap:5,brute:0,bug:[2,20],build:9,calcul:21,catalog:[1,5,9],center:22,chang:2,comparison:22,configur:[21,23],corr2:[20,23],corr3:[20,23],correl:[3,4,7,8,9,12,13,14,16,17,18,19,20,21],count:[16,17,18,19],covari:5,data:1,defin:[9,22],depend:20,deriv:[5,21],dict:23,document:11,download:20,estim:5,euclidean:15,execut:23,featur:[2,20],field:6,file:[1,21,23],fisherrperp:15,fix:2,from:[2,9,23],get:9,ggcorrel:7,gggcorrel:8,guid:9,histori:10,implement:22,improv:2,input:[1,21,22],instal:20,jackknif:5,jupyt:9,kappa:[12,13,14,17],kgcorrel:12,kkcorrel:13,kkkcorrel:14,line:15,linear:0,load:9,log:0,manual:9,marked_bootstrap:5,matrix:5,mean:22,memori:22,method:5,metric:15,miscellan:21,modul:20,mpi:22,ngcorrel:16,nkcorrel:17,nncorrel:18,nnncorrel:19,numpi:9,oldrperp:15,option:[0,20],other:[0,1,9,22,23],output:[0,21],overview:20,paramet:21,patch:22,perform:2,period:15,point:[3,4,9,20],previou:10,python:[20,23],quantiti:[0,5,21],random:[5,9],reader:1,reduc:22,relat:[1,23],report:20,request:20,restrict:15,rlen:15,rperp:15,run:[20,22],sampl:5,sep_unit:0,separ:15,shear:[7,8,9,12,16],shot:5,sight:15,start:9,test:20,three:[4,9,20],treecorr:[11,20],tutori:9,two:[3,9,20],twod:0,util:[1,23],varianc:5,version:2}}) \ No newline at end of file +Search.setIndex({docnames:["binning","catalog","changes","correlation2","correlation3","cov","field","gg","ggg","guide","history","index","kg","kk","kkk","metric","ng","nk","nn","nnn","overview","params","patches","scripts"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.viewcode":1,sphinx:56},filenames:["binning.rst","catalog.rst","changes.rst","correlation2.rst","correlation3.rst","cov.rst","field.rst","gg.rst","ggg.rst","guide.rst","history.rst","index.rst","kg.rst","kk.rst","kkk.rst","metric.rst","ng.rst","nk.rst","nn.rst","nnn.rst","overview.rst","params.rst","patches.rst","scripts.rst"],objects:{"":{catalog:[1,0,0,"-"],config:[23,0,0,"-"]},"treecorr.BinnedCorr2":{clear:[3,2,1,""],estimate_cov:[3,2,1,""],getStat:[3,2,1,""],getWeight:[3,2,1,""],nonzero:[3,2,1,""],sample_pairs:[3,2,1,""]},"treecorr.BinnedCorr3":{clear:[4,2,1,""],estimate_cov:[4,2,1,""],getStat:[4,2,1,""],getWeight:[4,2,1,""],nonzero:[4,2,1,""]},"treecorr.Catalog":{checkForNaN:[1,2,1,""],clear_cache:[1,2,1,""],copy:[1,2,1,""],getGField:[1,2,1,""],getGSimpleField:[1,2,1,""],getKField:[1,2,1,""],getKSimpleField:[1,2,1,""],getNField:[1,2,1,""],getNSimpleField:[1,2,1,""],get_patch_centers:[1,2,1,""],get_patch_file_names:[1,2,1,""],get_patches:[1,2,1,""],load:[1,2,1,""],makeArray:[1,2,1,""],read_patch_centers:[1,2,1,""],read_patches:[1,2,1,""],resize_cache:[1,2,1,""],select:[1,2,1,""],unload:[1,2,1,""],write:[1,2,1,""],write_patch_centers:[1,2,1,""],write_patches:[1,2,1,""]},"treecorr.Field":{cat:[6,2,1,""],count_near:[6,2,1,""],get_near:[6,2,1,""],kmeans_assign_patches:[6,2,1,""],kmeans_initialize_centers:[6,2,1,""],kmeans_refine_centers:[6,2,1,""],nTopLevelNodes:[6,2,1,""],run_kmeans:[6,2,1,""]},"treecorr.GGCorrelation":{__eq__:[7,2,1,""],__iadd__:[7,2,1,""],__init__:[7,2,1,""],__repr__:[7,2,1,""],calculateGamSq:[7,2,1,""],calculateMapSq:[7,2,1,""],copy:[7,2,1,""],finalize:[7,2,1,""],getStat:[7,2,1,""],getWeight:[7,2,1,""],process:[7,2,1,""],process_auto:[7,2,1,""],process_cross:[7,2,1,""],process_pairwise:[7,2,1,""],read:[7,2,1,""],write:[7,2,1,""],writeMapSq:[7,2,1,""]},"treecorr.GGGCorrelation":{__eq__:[8,2,1,""],__iadd__:[8,2,1,""],__init__:[8,2,1,""],__repr__:[8,2,1,""],calculateMap3:[8,2,1,""],copy:[8,2,1,""],finalize:[8,2,1,""],getStat:[8,2,1,""],getWeight:[8,2,1,""],process:[8,2,1,""],process_auto:[8,2,1,""],process_cross12:[8,2,1,""],process_cross:[8,2,1,""],read:[8,2,1,""],write:[8,2,1,""],writeMap3:[8,2,1,""]},"treecorr.GGGCrossCorrelation":{__eq__:[8,2,1,""],__iadd__:[8,2,1,""],__init__:[8,2,1,""],__repr__:[8,2,1,""],copy:[8,2,1,""],finalize:[8,2,1,""],getStat:[8,2,1,""],getWeight:[8,2,1,""],nonzero:[8,2,1,""],process:[8,2,1,""],process_cross12:[8,2,1,""],process_cross:[8,2,1,""],read:[8,2,1,""],write:[8,2,1,""]},"treecorr.KGCorrelation":{__eq__:[12,2,1,""],__iadd__:[12,2,1,""],__init__:[12,2,1,""],__repr__:[12,2,1,""],copy:[12,2,1,""],finalize:[12,2,1,""],process:[12,2,1,""],process_cross:[12,2,1,""],process_pairwise:[12,2,1,""],read:[12,2,1,""],write:[12,2,1,""]},"treecorr.KKCorrelation":{__eq__:[13,2,1,""],__iadd__:[13,2,1,""],__init__:[13,2,1,""],__repr__:[13,2,1,""],copy:[13,2,1,""],finalize:[13,2,1,""],process:[13,2,1,""],process_auto:[13,2,1,""],process_cross:[13,2,1,""],process_pairwise:[13,2,1,""],read:[13,2,1,""],write:[13,2,1,""]},"treecorr.KKKCorrelation":{__eq__:[14,2,1,""],__iadd__:[14,2,1,""],__init__:[14,2,1,""],__repr__:[14,2,1,""],copy:[14,2,1,""],finalize:[14,2,1,""],process:[14,2,1,""],process_auto:[14,2,1,""],process_cross12:[14,2,1,""],process_cross:[14,2,1,""],read:[14,2,1,""],write:[14,2,1,""]},"treecorr.KKKCrossCorrelation":{__eq__:[14,2,1,""],__iadd__:[14,2,1,""],__init__:[14,2,1,""],__repr__:[14,2,1,""],copy:[14,2,1,""],finalize:[14,2,1,""],getStat:[14,2,1,""],getWeight:[14,2,1,""],nonzero:[14,2,1,""],process:[14,2,1,""],process_cross12:[14,2,1,""],process_cross:[14,2,1,""],read:[14,2,1,""],write:[14,2,1,""]},"treecorr.NGCorrelation":{__eq__:[16,2,1,""],__iadd__:[16,2,1,""],__init__:[16,2,1,""],__repr__:[16,2,1,""],calculateNMap:[16,2,1,""],calculateXi:[16,2,1,""],copy:[16,2,1,""],finalize:[16,2,1,""],process:[16,2,1,""],process_cross:[16,2,1,""],process_pairwise:[16,2,1,""],read:[16,2,1,""],write:[16,2,1,""],writeNMap:[16,2,1,""],writeNorm:[16,2,1,""]},"treecorr.NKCorrelation":{__eq__:[17,2,1,""],__iadd__:[17,2,1,""],__init__:[17,2,1,""],__repr__:[17,2,1,""],calculateXi:[17,2,1,""],copy:[17,2,1,""],finalize:[17,2,1,""],process:[17,2,1,""],process_cross:[17,2,1,""],process_pairwise:[17,2,1,""],read:[17,2,1,""],write:[17,2,1,""]},"treecorr.NNCorrelation":{__eq__:[18,2,1,""],__iadd__:[18,2,1,""],__init__:[18,2,1,""],__repr__:[18,2,1,""],calculateNapSq:[18,2,1,""],calculateXi:[18,2,1,""],copy:[18,2,1,""],finalize:[18,2,1,""],getStat:[18,2,1,""],getWeight:[18,2,1,""],process:[18,2,1,""],process_auto:[18,2,1,""],process_cross:[18,2,1,""],process_pairwise:[18,2,1,""],read:[18,2,1,""],write:[18,2,1,""]},"treecorr.NNNCorrelation":{__eq__:[19,2,1,""],__iadd__:[19,2,1,""],__init__:[19,2,1,""],__repr__:[19,2,1,""],calculateZeta:[19,2,1,""],copy:[19,2,1,""],finalize:[19,2,1,""],getStat:[19,2,1,""],getWeight:[19,2,1,""],process:[19,2,1,""],process_auto:[19,2,1,""],process_cross12:[19,2,1,""],process_cross:[19,2,1,""],read:[19,2,1,""],write:[19,2,1,""]},"treecorr.NNNCrossCorrelation":{__eq__:[19,2,1,""],__iadd__:[19,2,1,""],__init__:[19,2,1,""],__repr__:[19,2,1,""],copy:[19,2,1,""],finalize:[19,2,1,""],getWeight:[19,2,1,""],nonzero:[19,2,1,""],process:[19,2,1,""],process_cross12:[19,2,1,""],process_cross:[19,2,1,""],read:[19,2,1,""],write:[19,2,1,""]},"treecorr.catalog":{isGColRequired:[1,3,1,""],isKColRequired:[1,3,1,""]},"treecorr.config":{check_config:[23,3,1,""],convert:[23,3,1,""],get:[23,3,1,""],get_from_list:[23,3,1,""],merge_config:[23,3,1,""],parse:[23,3,1,""],parse_bool:[23,3,1,""],parse_unit:[23,3,1,""],parse_variable:[23,3,1,""],print_params:[23,3,1,""],read_config:[23,3,1,""],setup_logger:[23,3,1,""]},"treecorr.corr2":{print_corr2_params:[23,3,1,""]},"treecorr.corr3":{print_corr3_params:[23,3,1,""]},"treecorr.reader":{AsciiReader:[1,1,1,""],FitsReader:[1,1,1,""],HdfReader:[1,1,1,""],PandasReader:[1,1,1,""]},"treecorr.reader.AsciiReader":{check_valid_ext:[1,2,1,""],names:[1,2,1,""],read:[1,2,1,""],row_count:[1,2,1,""]},"treecorr.reader.FitsReader":{check_valid_ext:[1,2,1,""],names:[1,2,1,""],read:[1,2,1,""],row_count:[1,2,1,""]},"treecorr.reader.HdfReader":{check_valid_ext:[1,2,1,""],names:[1,2,1,""],read:[1,2,1,""],row_count:[1,2,1,""]},"treecorr.reader.PandasReader":{read:[1,2,1,""]},treecorr:{BinnedCorr2:[3,1,1,""],BinnedCorr3:[4,1,1,""],Catalog:[1,1,1,""],Field:[6,1,1,""],GField:[6,1,1,""],GGCorrelation:[7,1,1,""],GGGCorrelation:[8,1,1,""],GGGCrossCorrelation:[8,1,1,""],GSimpleField:[6,1,1,""],KField:[6,1,1,""],KGCorrelation:[12,1,1,""],KKCorrelation:[13,1,1,""],KKKCorrelation:[14,1,1,""],KKKCrossCorrelation:[14,1,1,""],KSimpleField:[6,1,1,""],NField:[6,1,1,""],NGCorrelation:[16,1,1,""],NKCorrelation:[17,1,1,""],NNCorrelation:[18,1,1,""],NNNCorrelation:[19,1,1,""],NNNCrossCorrelation:[19,1,1,""],NSimpleField:[6,1,1,""],SimpleField:[6,1,1,""],calculateVarG:[1,3,1,""],calculateVarK:[1,3,1,""],catalog:[1,0,0,"-"],config:[23,0,0,"-"],corr2:[23,3,1,""],corr3:[23,3,1,""],estimate_multi_cov:[3,3,1,""],read_catalogs:[1,3,1,""]}},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","method","Python method"],"3":["py","function","Python function"]},objtypes:{"0":"py:module","1":"py:class","2":"py:method","3":"py:function"},terms:{"007":20,"0th":8,"100":[3,5,7,9,18,20,22],"101":2,"1024":6,"106":2,"108":2,"109":2,"111":2,"115":2,"116":2,"117":2,"118":2,"120":[7,18],"122":2,"123":2,"125":2,"127":2,"128":[2,7,16,18],"131":2,"132":[7,18],"133":2,"14s":16,"1508":20,"15s":[7,18],"16s":[7,18],"180":23,"196":16,"1994":[3,15],"1998":21,"1st":8,"200":6,"2002":[7,16,18],"2002apj":16,"2003":[8,20,21],"2004":[8,20],"2005":8,"2008":5,"2008apj":[3,4,5],"2020":0,"2320":[7,18],"267":[3,15],"2dr":[9,18,21],"2nd":8,"2pi":21,"2pt":[5,19],"338":20,"352":[8,20],"389":[7,16,18],"397":[8,20],"3drr":19,"3pt":[2,5,8,14,19],"3rd":8,"3rdd":19,"40th":6,"431":8,"4pi":21,"500":[3,4,5],"568":[7,16,18],"577":16,"604h":16,"60th":6,"681":[3,4,5],"726l":[3,4,5],"729":[7,16,18],"74s":16,"754":[7,18],"809":[8,20],"818":8,"927":[3,15],"abstract":6,"boolean":23,"break":[9,15],"case":[0,1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],"class":[0,2,3,4,6,7,8,11,12,13,14,16,17,18,19,23],"default":[0,1,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,21,22,23],"final":[1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,22],"float":[1,3,4,6,7,8,12,13,14,16,21],"function":[0,1,2,5,6,7,8,11,12,13,14,15,16,17,18,19,20,22],"import":[1,15,20,22,23],"int":[0,1,3,4,6,7,8,12,13,14,16,17,18,19,21],"long":[0,1],"new":[1,3,6,11,20,22,23],"return":[1,3,4,6,7,8,12,13,14,16,17,18,19,23],"switch":[2,6,15,21],"true":[0,1,3,4,5,6,7,8,12,13,14,16,17,18,19,21,22,23],"try":[0,1,2,7,8,12,13,14,16,17,18,19,21,22],"var":1,"while":[0,12,13,14,17,21],Added:2,And:[0,3,4,5,20,22],But:[0,1,3,4,6,20,21,22],DES:[6,22],For:[0,1,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],Its:6,Not:2,One:[0,1,5,19,22],PRs:2,That:15,The:[0,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21,22],Then:[5,6,7,8,12,13,14,16,17,18,19,21,22],There:[0,1,3,4,5,6,8,9,15,19,21,22],These:[3,5,6,8,9,15,19,20,22],Use:[1,3,4,6,11,21],Used:1,Uses:1,Using:[5,11],With:[6,21,22],__eq__:[7,8,12,13,14,16,17,18,19],__iadd__:[7,8,12,13,14,16,17,18,19],__init__:[7,8,12,13,14,16,17,18,19],__repr__:[7,8,12,13,14,16,17,18,19],_top:[3,4],abil:[2,4,15,19],abl:[0,1,9,20],about:[0,1,3,4,6,8,9,11,14,19,20,22,23],abov:[0,1,3,4,5,6,7,8,9,14,15,16,19,21,22],abs:[3,4,5,16],absolut:0,accept:0,access:[1,5,7,8,9,12,13,14,16,17],accommod:[0,8],accord:[0,1,3,4,5,6,7,8,12,13,14,16,17,18,19,21,22,23],account:[3,4,7,8,9,14,19,21],accumul:[0,1,2,3,4,7,8,11,12,13,14,16,17,18,19,21],accur:[2,19,22],accuraci:0,acoommod:3,across:[0,4,5,15],act:[3,4],actual:[0,1,2,3,4,5,6,7,8,12,13,14,15,16,17,18,20,21,22,23],add:[1,7,8,12,13,14,16,17,18,19,20],added:20,adding:[6,7,8,12,13,14,16,17,18,19],addit:[0,1,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],addition:[0,5],adjust:5,adsab:[3,4,5,16],advantag:23,advis:0,affect:[0,22],after:[0,1,5,7,8,9,12,13,14,16,17,18,19,20,21,23],afterward:[7,8,12,13,14,16,17,18,19],again:[1,6,9,20],ahead:22,aka:[1,6,8,14,19,22],algorithm:[0,1,3,4,5,6,20,21,22],alia:3,alias:23,all:[0,1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],allow:[0,1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,23],allow_xyz:[1,21],almost:[6,22],along:[3,4,8,9,15,18,19,21,23],alpha2000:1,alreadi:[1,2,3,4,6,19,20,21,22],also:[0,1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],alt:[6,22],altern:[1,6,21,22],although:[0,1,2,3,4,8,9,20,21],alwai:[0,1,3,4,6,7,8,9,12,13,14,16,17,18,19,21,22],ambigu:[4,21],among:[0,5,9,21,22],amount:0,anaconda3:20,analog:[0,4,5,19],ancillari:[3,4,5],angl:[0,6,9,15,23],angleunit:23,angular:[0,1,3,4,6,15,21],ani:[0,1,2,3,4,5,6,7,8,9,12,13,14,15,17,18,19,20,21,22,23],anoth:[2,6,8,15,16,17,18,19,21,22],answer:22,anymor:9,anyon:2,anyth:[3,4,9,22],apertur:[2,3,5,7,8,16,18,21],api:11,apj:[7,16,18],appear:[5,8,14,19],appendix:0,appli:[0,1,7,8,12,13,14,15,16,17,18,19,21],applic:[0,3,4,8,15,21],appreci:0,approach:6,appropri:[0,1,3,4,7,8,9,12,13,14,16,17,18,19,21],approx:15,approxim:[0,20,21],arbitrari:[1,2,3,4,6],arc:[0,3,4,11],arcco:[7,16,18],arcmin:[0,1,3,4,9,20,21],arcsec:[0,1,3,4,21],arcsin:[7,15],area:[3,5,22],aren:[3,4,5],arg:[6,23],argument:[1,2,3,4,6,7,8,9,12,13,14,16,17,18,19,20,21,23],aris:2,arithmet:[0,1,3,4],around:[0,16,17,20,21,22],arrai:[0,1,3,4,5,6,7,8,11,12,13,14,16,17,18,19,21,22],arrang:22,arthur:22,asap:2,ascens:[1,6,9],ascii:[1,2,7,8,9,12,13,14,16,17,18,19,20,21],asciiread:1,ascl:20,aspect:20,assign:[1,6,22],assum:[1,6,15,21],astron:[8,20],astronom:22,astronomi:9,astrophi:[8,20],astrophy:20,attribut:[0,1,5,7,8,9,12,13,14,15,16,17,18,19,22],auto:[3,4,5,7,8,11,13,14,16,18,19,20,21,22,23],automat:[1,7,8,9,12,13,14,16,17,18,19,20,21],avaiabl:20,avail:[0,6,9,16,17,18,20,22,23],averag:[0,1,3,4,6,22],avoid:6,awai:15,back:[1,22],background:15,backup:22,ball:[6,20,22],bao:0,bar:[5,21],base:[0,1,2,3,4,5,6,7,8,12,13,14,15,16,17,18,19,21,23],basic:[9,15,18,19,20,22],beat:9,becaus:[0,1,3,6,9,21,22],becom:[2,3,4,6,15],been:[0,1,2,3,4,5,6,15,18,19,21],befor:[1,3,8,14,19,22],begin:[7,8,12,13,14,16,17,18,19,21],behav:[3,4],behavior:[1,2,7,21],behind:15,being:[0,1,3,4,5,7,8,9,12,13,14,15,16,17,18,19,20,21,22],belong:0,below:[0,2,3,4,6,9,15,20,21,22,23],bernstein:[8,20],besid:[7,8,12,13,14,16,17,18,19],best:[6,21,22],bet:6,better:[5,6,7,9,12,13,16,17,18,19,21,22],between:[0,1,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,21,22],bia:[0,16],bias:9,big:[2,22],bin:[1,3,4,5,7,8,11,12,13,14,15,16,17,18,19,20,23],bin_siz:[0,3,4,7,8,12,13,14,16,17,18,19,20,21],bin_slop:[3,4,11,21],bin_typ:[0,3,4,9,21],binari:21,binnedcorr2:[0,2,3,5,7,12,13,15,16,17,18],binnedcorr3:[0,4,5,8,14,15,19],binsiz:4,bit:[0,4,20,21],blow:1,bodi:15,bool:[1,3,4,6,7,8,12,13,14,16,17,18,19,21,23],bootstrap:[3,4,11],bot:15,both:[0,1,2,3,4,5,6,7,8,12,13,14,15,16,17,18,19,20,21,22,23],bother:1,bottom:0,bottom_edg:0,bound:22,boundari:[3,4,15],branch:20,bring:1,broke:22,brute:[1,3,4,6,11,20,21],bug:11,build:[1,2,3,4,5,6,11,21,22],built:[1,3,4,7,8,12,13,14,16,17,18,19,23],cach:1,cal:8,calcaul:6,calcualt:[3,4],calcul:[0,1,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,18,19,20,22,23],calculategamsq:7,calculatemap3:8,calculatemapsq:[3,5,7,8,18],calculatenapsq:18,calculatenmap:16,calculatevarg:[1,9],calculatevark:1,calculatexi:[5,9,16,17,18],calculatezeta:[2,5,9,19],calibr:21,call:[1,2,3,5,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],can:[0,1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],cancel:0,cannot:[1,3,4,5,6,22],capit:23,captur:[5,8,14,19],care:[0,3,6,15,22],cartesian:[6,15],cat1:[0,1,3,4,7,8,9,12,13,14,16,17,18,19,21,22],cat1a:5,cat1b:5,cat2:[0,3,4,7,8,9,12,13,14,16,17,18,19,21,22],cat2a:5,cat2b:5,cat3:[8,14,19],cat:[1,6,7,8,9,13,14,18,19,20,21,22],cat_fil:22,cat_file1:22,cat_file2:22,cat_list:1,cat_precis:1,catalog:[0,2,3,4,6,7,8,11,12,13,14,15,16,17,18,19,20,21,22,23],catlist:21,caus:20,caveat:22,cdot:15,celesti:9,celestialcoord:6,celestialcorod:6,cell:[0,1,3,4,6,21],cen_fil:22,cenroid:8,center:[0,1,5,6,7,8,9,11,12,13,14,16,17,18,19,21],centers_fil:22,centroid:[1,6,8,20,21],cffi:20,challeng:22,chang:[0,1,3,4,5,10,11,15,21],charact:21,character:4,check:[1,3,4,6,7,8,12,13,14,15,16,17,18,19,23],check_config:23,check_valid_ext:1,checkfornan:1,chld:21,choic:[0,6,8,9,21,22],choos:[6,8,21,22],chord:[4,15],chose:[6,22],chosen:22,circl:[3,4,15],clang:[1,3,4],classic:[5,6],classifi:22,clear:[1,3,4,7,8,12,13,14,16,17,18,19],clear_cach:1,click:20,clockwis:4,clone:20,close:[0,9,21,22],closer:[0,6],closest:[6,22],cluster:[6,22],cmb:[3,13,14,20],code:[0,1,2,6,8,20,21,22,23],coeffici:[16,21],col:1,col_str:1,collect:[1,6],column:[1,2,7,8,9,12,13,14,16,17,18,19,21],com:20,combin:[0,2,3,4,8,9,14,16,19,20,22],come:[0,3,5,8,14,19,21],comm:[7,8,12,13,14,16,17,18,19,22],comm_world:22,comma:21,command:[1,6,7,8,12,13,14,16,17,18,19,20,21,23],comment:[1,20,21],comment_mark:[1,21],common:[3,4,15,20],commonli:[6,15,16],commun:[7,8,12,13,14,16,17,18,19],compar:[0,5,6,8,22],comparison:0,compat:[1,2,3,4],compens:[9,16,17,21],compil:[1,3,4],complet:[0,1,2,3,4,5,7,8,12,13,14,16,17,18,19,20,22,23],complex:[6,8,21],complic:[3,4,8,9,14,19],compon:[1,3,5,7,8,12,15,16,20,21],compris:6,comput:[0,1,2,3,4,5,6,7,8,9,12,13,14,16,17,18,19,20,22],concaten:[1,3,4,7,8,14],concentr:17,concern:0,concret:6,conda:20,condit:15,config1:[9,22],config2:[9,22],config:[1,3,4,5,7,8,9,12,13,14,16,17,18,19,22,23],config_fil:[20,23],configur:[1,3,4,7,8,9,11,12,13,14,16,17,18,19,20],confirm:0,conform:23,confus:22,conjug:8,conjunct:[1,3,4,21],connect:[3,9,15],consequ:2,conserv:[1,21],consid:[1,6,7,8,12,13,14,16,17,18,19],consider:6,consist:[1,15,21,23],constant:6,construct:[0,1,3,4,6,7,8,12,13,14,15,16,17,18,19,21],constructor:[1,3,4,5,6,7,8,12,13,14,16,17,18,19,22],contact:20,contain:[3,6,7,8,16,17,18,19],context:6,continu:[0,2],contrariwis:15,contrast:[8,14,19],contribut:[1,5,7,8,12,13,14,16,17,19,21],control:[1,9,21],conveni:[0,1],convent:[1,9,15,21],converg:[1,6,20,21],convers:[15,23],convert:[1,7,8,12,13,14,15,16,17,18,19,23],convinc:22,coord:[1,6,20,23],coordin:[1,3,4,6,7,8,12,13,14,15,16,17,18,19,20,21],copi:[1,7,8,12,13,14,16,17,18,19],core:[1,3,4,7,8,12,13,14,16,17,18,19,20,21,22],corner:[2,8,14,19,22],corr2:[11,21],corr3:[11,21],corr:[1,3,5],correct:[0,2,15,19,20,21],correctli:[2,21],correl:[0,1,2,5,6,11,15,22,23],correspond:[0,1,3,4,5,6,7,8,9,12,13,16,17,18,19,21],correspong:1,corret:4,corrlet:8,corrollari:18,cosmic:[9,21],cosmolog:21,could:[1,2,3,4,5,6,9,20,21,22],couldn:22,count:[0,1,3,4,5,6,9,11,20,21,22],count_near:6,counter:4,coupl:2,cours:[0,1,5,6,9,15,21,22],cov:[3,5,7,12,13,16,17,18],cov_boot:5,cov_jk:5,covari:[0,2,3,4,6,7,8,11,12,13,16,17,18,19,22],cover:9,cpu:[1,3,4,6,7,8,12,13,14,16,17,18,19,21,22],crazi:22,creat:6,criterion:[0,6,21],crittenden:[3,7,8,16,18,21],cross:[0,1,2,3,4,5,7,8,9,12,13,14,16,17,18,19,20,21,22],crosscorrel:2,cull:6,cumbersom:21,current:[1,2,3,4,6,7,8,14,15,18,19,20],curv:[20,21],cut:0,d_1:19,d_2:19,d_3:19,dark:22,dat:[1,9,20,21,23],data:[0,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21,22],data_cat:[1,19],data_fil:9,daughter:6,dd_cov:5,dd_cov_b:5,ddd:[9,19,21],ddr:[2,9,19,21],deal:[9,22],debug:[1,3,4,21],dec:[0,1,4,6,9,15,20,21,22],dec_col:[1,9,20,21],dec_ext:[1,21],dec_unit:[1,6,9,20,21],decid:0,decim:21,declar:1,declin:[1,6,9],decomposit:[7,15],decreas:[0,21],defin:[0,1,3,4,5,6,8,11,15,20,21,23],definit:[3,4,5,6,7,8,15,16,18,22],defint:15,deg:[1,23],degre:[0,1,3,4,9,20,21,23],del:22,delai:[1,22],delet:[1,22],delimet:21,delimit:[1,21],delta2000:1,delta:[0,13,14],denomin:[5,18,19],dens:5,densiti:[9,18,19,21],dep:20,depend:[1,6,9,11,21,22],deprec:[3,6,7,12,13,16,17,18,23],depth:21,deriv:[2,3,4,11,16,23],describ:[5,6,7,8,12,13,14,15,16,17,18,19,20,21,22,23],descript:[1,7,8,12,13,14,16,17,18,19,21,23],design:3,desir:[1,2,3,4,5,6,7,8,9,12,13,14,16,17,18,19,20,21,23],despit:6,detail:[2,3,4,7,8,9,12,13,14,16,17,18,19,20,21,22],determin:[1,6,7,8,12,13,14,16,17,18,19,21,23],devel:22,develop:[0,20],deviat:[6,22],devis:6,diagon:[3,4,5,8],dict:[1,3,4,7,8,9,11,12,13,14,16,17,18,19],dictionari:9,did:9,didn:22,differ:[0,1,2,3,4,5,6,8,9,14,15,18,19,20,21,22,23],differenct:[3,4],difficult:6,digit:[1,3,4,21],dimens:[0,6,22],dimension:[1,3,6,15,21],direct:[0,3,4,15,21],directli:[1,3,4,6,7,8,9,12,13,14,16,17,18,19,22],directori:[1,20,22],disadvantag:0,discuss:[20,21],disjoint:6,disk:[1,2,9,22],distanc:[0,1,3,4,6,7,8,12,13,14,15,16,17,18,19,21],distinct:0,distinguish:23,distribut:20,divid:[0,1,5,6,7,8,9,12,13,14,16,17,18,19,22],doc:[7,8,9,12,13,14,16,17,18,19],docstr:9,document:[3,4,7,8,9,12,13,14,16,17,18,19,20,23],doe:[0,1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,21,22],doesn:[3,4,5,6,8,14,19,22],doing:[0,1,2,5,6,9,21,22],domin:5,don:[0,1,2,3,4,5,6,9,19,20,21,22],done:[2,5,6,16,17,18,19,20,21,22,23],dot:[3,4,5,21,22],down:[0,6,9,22],download:11,downsid:22,drd:[2,9,19,21],drive:23,drop:2,drr:[2,9,19,21],dtype:1,due:[1,21],duplic:[3,4,7],dure:[1,3,4,7,8,12,13,14,16,17,18,19,21],dynam:0,each:[0,1,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],earli:0,earth:[0,1,3,15],easier:[1,21,22],easiest:20,edg:[0,3,6,9,22],edu:[3,4,5,16],effect:[0,9,21,22],effici:[1,2,6,8,20,22],either:[0,1,3,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],element:[1,7,8,12,13,14,16,17,18,19,21,23],els:[1,7,12,13,16,17,18,21],empir:6,enabl:[2,5,8,22,23],encapsul:1,encourag:2,end:[0,1,6,7,8,12,13,14,15,16,17,19,20,21,22],energi:22,enforc:4,enough:[5,6,22],ensur:21,enter:1,entir:[1,22],entri:[3,4,7,8,12,13,14,16,17,18,19,23],equal:[0,3,5,6,7,8,9,12,13,14,16,17,18,19,22],equat:8,equiv:[6,15,22],equival:[0,1,3,15,21,22],error:[0,1,2,3,4,6,20,21,23],escal:22,especi:[0,1,2,8,9,21,22],essenti:[0,20,21,22],estim:[1,2,3,4,6,7,8,9,11,12,13,14,16,17,18,19,21,22],estimate_cov:[2,3,4,5,18],estimate_multi_cov:[2,3,5,18],etc:[1,4,7,8,9,12,13,14,16,17,18,19,20,21],euclidean:[0,2,3,4,7,8,9,11,12,13,14,16,17,18,19,20,21],even:[0,5,6,8,9,22],evenli:6,everi:[0,1,3,15,21],every_nth:[1,21,22],everyon:9,everyth:[19,22],exact:[0,3],exactli:[0,2,3,4,21],exampl:[0,3,5,9,12,13,14,17,20,21,22],exce:21,except:[3,4,15],exclud:[0,3,4,5],execut:[2,11,20,21],exist:[1,6,22],exp:[7,8,12,13,14,16,17,18,19,21],expand:9,expect:[0,3,4,19,22,23],explan:[7,16],explicitli:[1,2,3,21,22,23],ext:[1,21],extens:[1,3,4,7,8,12,13,14,16,17,18,19,21,23],extent:[6,21],extra:[1,5,15,21,23],extrem:[20,22],fact:[3,5,12,13,14,17],factor:[6,21,22],fail:22,failur:[6,22],fairli:[0,6,8,22],fall:[0,2,3,5,8,14,19],fals:[0,1,2,3,4,6,7,8,12,13,14,16,17,18,19,21,23],far:[2,4,9],farm:9,farther:15,fast:[5,6,22],faster:[0,2,20,22],feasibl:0,featur:[3,4,11],fee:20,feedback:2,fell:[1,3,7,8,12,13,14,16,17,18,19],few:[0,3,4,5,6,15,22],ffi:20,field:[1,3,4,5,7,8,9,11,12,13,14,16,17,18,19,21,22],figur:0,file1:[20,21,23],file2:[20,21,23],file3:21,file:[2,3,4,6,7,8,9,11,12,13,14,16,17,18,19,20,22],file_list2:21,file_list3:21,file_list:[1,21],file_nam:[1,7,8,9,12,13,14,16,17,18,19,20,21,23],file_name1:9,file_name2:[1,9,21],file_name3:21,file_typ:[1,7,8,12,13,14,16,17,18,19,21,23],filenam:21,files_name2:21,fill:20,find:[0,2,3,5,6,9,20,22],fine:[0,9],finish:[0,7,8,9,12,13,14,16,17,18,19],first:[1,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,21,22],first_row:[1,21],fisher:[3,15],fisherrperp:[3,11],fit:[1,7,8,9,12,13,14,16,17,18,19,20,21,22],fitsio:[1,20],fitsread:1,fix:11,flag:[1,9,21],flag_col:[1,21],flag_ext:[1,21],flat:[0,1,3,4,6,7,8,9,12,13,14,15,16,17,18,19,21],flip:[1,9,21],flip_g1:[1,21],flip_g2:[1,21],fluctuat:[3,13,14],fluctut:20,fname:22,folder:20,follow:[0,1,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,22,23],footprint:22,forc:[0,1,2,3,4,6,20,21,22],foreground:[16,17,20,21],forg:20,form:[3,6,7,16,18,20,21,23],format:[21,23],former:0,formul:21,formula:[8,15,16,19,21],fortun:22,found:[0,3,4,6,20,22],four:[0,4],fourth:21,frac:[4,5,6,7,15,16,18,22],fraction:[0,6,21,22],free:[20,22],freebsd:20,from:[0,1,3,4,5,6,7,8,10,11,12,13,14,15,16,17,18,19,20,21,22],from_nam:23,front:20,full:[0,1,3,4,5,6,7,8,12,13,14,15,16,17,18,19,22,23],full_cat:22,fulli:22,func:[2,3,4,5],funciton:7,further:[1,6,9],furthermor:[0,1,9,21,22],futur:20,fuzzi:0,g1_col:[1,9,20,21],g1_ext:[1,21],g1_valu:9,g1g2g3:8,g1g3g2:8,g2_col:[1,9,20,21],g2_ext:[1,21],g2_valu:9,g2g1g3:8,g2g3g1:8,g3g1g2:8,g3g2g1:8,gain:22,galaxi:[9,15,16,17,20,21,22],gam0:[4,8],gam0i:[8,21],gam0r:[8,21],gam1:[4,8],gam1i:[8,21],gam1r:[8,21],gam2:[4,8],gam2i:[8,21],gam2r:[8,21],gam3:[4,8],gam3i:[8,21],gam3r:[8,21],gamma1:20,gamma2:20,gamma:[4,6,7,8,20,21],gamma_0:[8,21],gamma_1:[8,21],gamma_2:[8,21],gamma_3:[8,21],gamma_:[12,16],gamma_t:[9,12,16],gamsq:[7,21],gamsq_:7,gamsq_b:7,gamt:[16,21],gamx:[16,21],garbag:[1,6],gave:22,gcc:2,gener:[1,3,4,6,8,9,15,20,22],geometr:0,geometri:[1,6,8,9,20,22],get:[0,1,3,4,5,6,7,11,12,13,15,16,17,18,19,20,21,22,23],get_from_list:23,get_near:6,get_patch:1,get_patch_cent:1,get_patch_file_nam:1,get_rank:22,getgfield:[1,6],getgsimplefield:[1,6],getkfield:[1,6],getksimplefield:[1,6],getnfield:[1,6],getnsimplefield:[1,6],getstat:[3,4,7,8,14,18,19],getweight:[3,4,7,8,14,18,19],gfield:[1,6],gg_file_nam:[1,20,21,23],ggconfig:22,ggcorrel:[3,5,6,9,11,16,18,20,22],ggg:[2,4,8,20],ggg_file_nam:21,gggcorrel:[4,6,9,11],gggcrosscorrel:[4,8],git:20,github:20,give:[0,1,3,4,5,6,8,21,22,23],given:[0,1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,21,22,23],global:22,gmail:20,goe:[0,2,21,22],going:[1,7,8,12,13,14,16,17,18,19,21],good:[0,3,4,6,9,22],great:[3,4,15],group:[1,21],gsimplefield:[1,6],guid:[11,20],h5py:[1,20],had:[2,7,8,12,13,14,16,17,18,19,22],half:[0,6],hand:[1,21],handl:[0,3,4,7,8,12,13,14,16,17,18,19],happen:[1,5,6,21,22],happi:22,harder:2,harvard:[3,4,5,16],has:[0,1,2,3,4,5,6,9,18,19,21,22,23],hat:21,have:[0,1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],hdf5:[1,2,20,21],hdf:[1,21],hdfreader:1,hdu:21,head:23,heart:9,heavili:22,help:[0,3,4,21,23],helper:[1,3,4,23],here:[1,3,4,5,7,8,9,12,13,14,16,17,18,19,20,21,22,23],hermitian:8,heterogen:2,high:[0,6,22],higher:[0,6],highest:[3,4],highli:20,histogram:21,histori:11,hoekstra:16,hold:[1,6,7,8,12,13,14,16,17,18,19,22],honest:9,host:20,hour:[0,1,3,4,9,21],how:[0,1,3,4,6,7,8,9,12,13,14,15,16,17,18,19,21,22],howev:[0,1,3,4,5,6,8,9,15,19,21,22,23],html:20,http:[3,4,5,6,16,20],i_i:[6,22],idea:22,ideal:[5,6,22],ident:[8,14,19],identifi:[6,8,14,15,19],ignor:[1,3,4,7,8,12,13,14,16,17,18,19,21,23],ignore_flag:[1,21],imag:[1,7,8,9,12,16,21],imaginari:[3,7,12,16,21],impact:[0,15],implement:[0,2,4,5,6,7,9],impli:21,implicitli:[0,1,3],importatnt:15,imprecis:0,improv:[11,20,22],includ:[0,1,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],incorpor:9,incorrect:[3,4],increas:6,incred:23,inde:[0,6],independ:21,index:[0,1,11],indic:[0,1,3,6,8,21,22,23],indirectli:[1,21],individu:[0,1,5,15,22],induc:21,indx:1,inertia:[6,22],inform:[1,3,4,5,6,7,8,9,12,13,14,16,17,18,19,20,21,22,23],infti:[7,18],inher:0,ini:23,init:[1,6,21,22],initi:[1,2,6,7,8,12,13,14,16,17,18,19,22,23],inject:21,input:[0,2,3,4,5,7,8,9,11,12,13,14,16,17,18,19,20,23],input_cat:9,inspect:22,instal:[11,23],instanc:[0,1,3,4,5,6,7,8,12,13,14,16,17,18,19,20,22],instanti:6,instead:[0,1,6,7,9,12,13,16,17,18,21,22],insuffici:9,int_0:7,int_:[7,16,18],integ:[0,1,3,4,6,22,23],intend:[3,4],intention:22,interest:[0,3,4,5,9,20,22],interfac:1,intern:0,interpret:9,intertia:22,intial:6,intrins:22,invalid:[0,1,15,21],invalu:0,invari:21,invers:6,investig:[0,15,22],involv:[1,2,3,4,5,6,9,18,20,21],is_rand:1,isgcolrequir:1,iskcolrequir:1,isn:1,issu:[0,2,6,7,12,13,16,17,18,20,21],item:[1,2,3,7,8,12,13,14,16,17,18,19,21,23],iter:[6,22],its:[1,5,6,20,21,22],itself:[5,6,22],jackknif:[1,2,3,4,6,11,21,22],jain:[8,20],jarvi:[8,20],job:[3,4,21,22],joe:2,johann:2,join:[0,8,21],joint:5,json:23,jupyt:[11,20],just:[1,2,3,4,5,6,9,15,19,21,22,23],k1k2k3:14,k1k3k2:14,k2k1k3:14,k2k3k1:14,k3k1k2:14,k3k2k1:14,k_2:8,k_3:8,k_col:[1,9,21],k_ext:[1,21],kappa:[1,3,4,6,9,11,20,21],keep:[0,1,2,3,4,5,6,8,14,19,21],keep_zero_weight:[1,21],kei:[1,23],kept:[8,14,19],keyword:[1,3,4,7,8,9,12,13,14,16,17,18,19,23],kfield:[1,6],kg_file_nam:21,kgamt:[12,21],kgamx:[12,21],kgcorrel:[3,6,9,11],kgg:4,kilbing:8,kind:[1,3,4,5,6,9,20,21,23],kk_file_nam:21,kkcorrel:[3,6,9,11],kkk:[2,14,20],kkk_file_nam:21,kkkcorrel:[4,6,9,11],kkkcrosscorrel:[4,14],kmean:[1,6,21,22],kmeans2:22,kmeans_alt:[1,21,22],kmeans_assign_patch:6,kmeans_init:[1,21,22],kmeans_initialize_cent:6,kmeans_radec:22,kmeans_refine_cent:6,know:[1,2,5,6,15,19,20,22],known:[6,8,21],ksimplefield:[1,6],kwarg:[1,3,4,6,7,8,12,13,14,16,17,18,19,23],l_x:15,l_y:15,l_z:15,label:6,laila:2,lambda:[3,4,5],landi:[1,9,16,18,19,21],landscap:22,lang:2,langl:[1,6,7,8,12,13,14,16,17,18,19,22],larg:[0,5,6,8,14,15,19,21,22],larger:[0,6,8,14,19,21,22],largest:[6,21],last:[0,1,2,5,9,20],last_row:[1,21],later:20,latest:20,latter:[1,6,20],law:[0,9],layer:[1,3,4,6,21,22],lead:[0,5,6,22],leaf:[0,3,4,21],least:[1,5,6,18,19,21,22],leav:[0,1,3,4,6,21],left:[0,6,7,15,16,18,22],left_edg:[0,3],leg:19,legaci:23,len:[3,15,16,22],len_cat:22,lenght:4,length:[1,3,4,7,8,12,13,14,16,17,18,19],lens:[3,6,15,16,17,20,21],lens_cat:[5,9,22],lens_config:22,lens_fil:[9,22],less:[4,5,6,19,21,22],let:[0,1,2,5,6,9,20,21],letter:[12,13,14,17],level:[0,1,3,4,6,7,8,12,13,14,16,17,18,19,21,22,23],lib:20,libffi:20,librari:[20,23],licens:20,lieu:[6,21,23],life:22,light:15,like:[0,1,2,3,4,6,9,19,20,21,22,23],likewis:[0,2,3,18,19],limit:[15,19,21],line:[0,1,3,4,5,8,11,20,21,23],linear:[3,9,11],linearli:[0,4],link:2,linux:20,list:[1,2,3,4,5,6,7,8,9,12,13,14,16,17,18,19,21,23],list_kei:1,liter:6,littl:[0,7,8,12,13,14,16,17,18,19],load:[1,11,22,23],local:[0,6,20,22],locat:[0,6,8,16,17,19,22],log:[1,3,4,7,8,9,11,12,13,14,15,16,17,18,19,20,21,23],log_2:[1,3,4,6],log_fil:[1,3,4,21,23],logarithm:[0,3,7,12,13,16,17,18,19],logger:[1,3,4,6,7,8,12,13,14,16,17,18,19,23],logging_level:23,logic:1,logr1d:[8,14,19],logr:[0,1,7,8,9,12,13,14,16,17,18,19],logruv:4,loh:5,lombardi:[8,20,21],longer:[2,20,22,23],longest:[8,14,19],look:[20,22,23],loss:[7,8,12,13,14,16,17,18,19],lot:[2,20,23],low:[2,22],low_mem:[1,7,8,12,13,14,16,17,18,19,22],lower:[0,6,22],lowest:6,lru:1,lss:9,lsstdesc:20,luca:2,m2_file_nam:21,m2_uform:[3,7,8,16,18,21],machin:[9,20,22],made:[1,5,20,21,22],magic:22,magnitud:[6,20],mai:[0,1,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],main:[0,1,9],make:[0,1,3,4,5,6,7,8,9,12,13,14,16,17,18,19,20,21,22],makearrai:1,mani:[0,1,3,4,5,6,7,8,9,12,13,14,16,17,18,19,20,21,22],manner:5,manual:[11,22],map2mx:8,map3:[2,8],map:[2,8,21],mapmapmx:8,mapmx2:8,mapmxmap:8,mapmxmx:8,mapsq:[7,16,21],mapsq_im:7,marina:2,mark:[3,4,5],marked_bootstrap:[3,4,11],mask:[9,18,19,21],mass:[3,5,7,8,16,18,21],massiv:6,match:[0,1,3,4],materi:5,mathbf:8,mathrm:[1,5],matrix:[0,3,4,7,8,11,12,13,16,17,18,22],matter:[0,8,14,19],max:[1,3,4,6,15],max_it:6,max_rpar:[2,3,15,21],max_sep:[0,1,3,4,5,6,7,8,9,12,13,14,16,17,18,19,20,21],max_siz:[1,6],max_top:[1,3,4,6,21],max_u:[4,8,14,19,21],max_v:[4,8,14,19,21],maximum:[0,1,3,4,6,7,8,9,12,13,14,15,16,17,18,19,21],maxsiz:1,mayb:[0,9,20,23],mean:[0,1,3,4,6,7,8,9,11,12,13,14,15,16,17,18,19,21],meand1:[8,14,19,21],meand2:[8,14,19,21],meand3:[8,14,19,21],meani:6,meanlogd1:[8,14,19,21],meanlogd2:[8,14,19,21],meanlogd3:[8,14,19,21],meanlogr:[0,1,7,8,9,12,13,14,15,16,17,18,19,21],meanr:[0,1,7,8,12,13,14,15,16,17,18,19,21],means_clust:6,meant:15,meanu:[8,14,19],meanv:[8,14,19],meanx:6,meanz:6,measur:[0,3,4,5,6,9,12,17,21,22],median:[1,3,4,6,21],memori:[1,2,7,8,11,12,13,14,16,17,18,19],meng:5,mention:[5,22],mere:23,merg:23,merge_config:23,mess:22,messag:20,mesur:5,method:[1,3,4,6,7,8,9,11,12,13,14,16,17,18,19,21,22],metric:[0,2,3,4,7,8,9,11,12,13,14,16,17,18,19,21,22],middl:[1,3,4,6,21],midpoint:6,might:[0,1,3,4,5,6,9,19,20,22],mike:20,mikejarvis17:20,million:[6,22],min:15,min_rpar:[2,3,15,21],min_sep:[0,1,3,4,5,6,7,8,9,12,13,14,16,17,18,19,20,21],min_siz:[1,6],min_top:[1,3,4,6,21],min_u:[4,8,14,19,21],min_v:[4,8,14,19,21],minibatchkmean:22,minim:[6,22],minimum:[0,1,3,4,6,7,8,9,12,13,14,15,16,17,18,19,21,22],minut:22,miscellan:[11,23],miss:[5,21],mix:21,mmxa:[7,21],mmxb:21,mnra:[3,8,15,20],mock:5,mode:[6,9,21,22],modifi:[6,23],modul:11,modulo:3,more:[0,1,2,3,4,5,6,8,9,14,15,18,19,20,21,22,23],most:[0,1,2,3,4,5,6,8,9,15,22,23],mostli:2,mpc:15,mpi4pi:[7,8,12,13,14,16,17,18,19,22],mpi:[2,7,8,9,11,12,13,14,16,17,18,19],mpiexec:22,mu_i:[6,22],much:[0,1,2,3,4,9,21,22],multi:20,multi_cov:5,multipl:[1,3,5,7,8,9,12,13,14,16,17,18,19,21,22,23],must:[1,19],mutipl:1,mx3:8,mxmapmap:8,mxmapmx:8,mxmxmap:8,mxsq:[7,21],mxsq_im:7,my_config_fil:23,myself:22,n1n2n3:19,n1n3n2:19,n2n1n3:19,n2n3n1:19,n3n1n2:19,n3n2n1:19,n_i:[6,22],name:[0,1,2,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],nan:[1,2,21],nap:21,napsq:[16,21],nativ:[9,22],natur:[0,7,8,12,13,16,17,18,19,20,21,22],nbin:[0,3,4,5,7,8,9,12,13,14,16,17,18,19,21],nearbi:6,nearli:[0,15],necessari:[1,7,9,21],necessarili:[5,9,15,23],need:[0,1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],neg:4,neighbor:22,neither:16,net:20,never:[6,22],new_cat:1,next:[0,2,3,4,6,22],nfield:[1,6],ng_file_nam:[1,21],ng_statist:21,ngconfig:22,ngcorrel:[3,5,6,9,11,18,22],ngg:2,nk1:5,nk2:5,nk_file_nam:21,nk_statist:21,nkcorrel:[3,5,6,9,11],nm_file_nam:21,nmap:[16,21],nmap_norm:[16,21],nmx:[16,21],nn_config:5,nn_file_nam:21,nn_statist:21,nncorrel:[3,5,6,9,11,16],nng:[2,4],nnn:[2,5,9,19,20,21],nnn_file_nam:21,nnn_statist:21,nnncorrel:[2,4,5,6,9,11],nnncrosscorrel:[4,19],nobj:1,node:[6,21,22],nois:[1,2,3,4,5,7,8,9,12,13,14,16,17,18],nomin:[0,7,8,9,12,13,14,15,16,17,18,19,20,21],non:[0,1,2,3,4,15,17,21,22],none:[1,3,4,6,7,8,12,13,14,16,17,18,19,21,23],nontrivial_w:1,nonzero:[3,4,8,14,19],norm_file_nam:21,normal:[0,1,3,4,5,6,9,15,16,18,19,20,21,22,23],nosetest:20,notabl:[0,1],notat:21,note:[0,2,3,4,5,15,19,22],notebook:[9,20,22],notic:22,now:[2,5,9,15,20,21,22],npair:[1,3,7,12,13,16,17,18,21],npatch:[1,5,6,21,22],nsimplefield:[1,6],nsq:18,nsq_mapsq:[16,21],nth:1,ntoplevelnod:6,ntot:[1,6,21],ntri:[4,8,14,19,21],nubin:[4,8,14,19,21],num:[1,23],num_bootstrap:[3,4,5],num_thread:[1,3,4,7,8,12,13,14,16,17,18,19,21],number:[0,1,2,3,4,5,6,7,8,9,12,13,14,16,17,18,19,20,21,22,23],numer:5,numpi:[1,3,4,6,7,8,11,12,13,14,16,17,18,19,20,22],nvbin:[4,8,14,19,21],object:[0,1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,21,22,23],observ:[3,4,5,12,21],obviou:21,occur:5,odd:0,off:[1,3,4,5,19,21],offer:[6,8,21],offici:2,often:[1,3,4,7,8,9,12,13,14,15,16,17,18,19,20,21,22],oject:[7,8,12,13,14,16,17,18,19],ok_flag:[1,21],old:[2,15],older:21,oldrperp:[3,11],omit:[0,9,21,23],onc:[1,5,6,20,22],one:[0,1,2,3,4,5,6,7,8,12,13,14,15,16,17,18,19,20,21,22,23],ones:[8,9,14,19,22,23],onli:[0,1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],onto:0,open:[0,6,7,12,13,15,16,17,18,20],openmp:[1,3,4,7,8,12,13,14,16,17,18,19,20,21,22],oper:20,opposit:[8,14,19],optim:1,option:[1,2,3,4,5,6,8,9,11,15,21,22,23],orang:22,order:[3,4,8,14,19,20,21],org:6,orient:4,origin:[0,3,5,9,15,22],other:[3,4,5,6,7,8,11,12,13,14,15,16,17,18,19,20,21],otherwis:[1,7,8,12,13,14,16,17,18,19,21,23],our:[6,20],out:[0,2,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],out_file_nam:9,outer:22,output:[1,2,3,4,7,8,9,11,12,13,14,16,17,18,19,20,23],output_dot:[3,4,21],outsid:3,outskirt:6,over:[0,1,3,4,9,21,22,23],overal:[1,5,6,22],overflow:22,overlap:0,overrid:[1,21],overridden:[4,21],overview:11,overwrit:22,own:9,p_1:15,p_2:15,packag:[6,20,22],page:[9,11],painfulli:1,pair:[0,1,3,4,7,9,12,13,15,16,17,18,20,21,23],pairwis:[3,6],panda:[1,20],pandasread:1,paper:[16,20],par:1,paradigm:8,parallel:[0,6,15,20,21],param:[20,23],paramet:[0,1,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,18,19,20,22,23],parameter:[8,14,19],parametr:19,paramt:1,pariti:21,parquet:[1,2,21],pars:[21,23],parse_bool:23,parse_unit:23,parse_vari:23,part:[3,7,8,9,12,14,15,16,19,21,22],particular:[0,1,3,4,5,15,21,22,23],particularli:[1,15,22],pass:[1,3,4,5,7,8,12,13,14,15,16,17,18,19,22,23],past:5,patch:[1,2,3,4,5,6,7,8,9,11,12,13,14,16,17,18,19,21],patch_cent:[1,5,21,22],patch_col:[1,21,22],patch_ext:[1,21],path:[15,20],pattern:[5,7,8,9,12,13,14,16,17,18,19],peak:[0,22],penal:[6,22],penalti:[6,22],peopl:[20,22],per:[1,7,12,16],percent:0,percentil:6,perfectli:0,perform:[0,3,4,9,11,20,21,22,23],period:[2,3,4,11,21],permiss:[0,20],permuat:2,permut:[8,14,19],perpendicular:[3,15],persist:1,physic:0,piec:1,pip:20,place:[0,1,3,4,6,12,13,14,15,17,22],placement:[3,4],plan:20,plane:20,platform:2,pleas:[0,6,7,12,13,16,17,18,20],plot:[9,22],plu:[3,4],point:[0,1,2,5,6,7,8,11,12,13,14,15,16,17,18,19,21,22,23],poisson:[3,4,5],poor:6,popular:21,portion:0,posit:[0,1,3,4,6,8,9,14,15,19,20,21,22],possibil:3,possibl:[0,1,3,4,6,8,9,14,16,17,18,19,22],post:[5,20],potenti:[20,22],power:[0,9],practic:[21,22],precalcul:21,preced:[3,4,23],precis:[0,1,3,4,7,8,12,13,14,15,16,17,18,19,21],precomput:22,predict:0,prefer:[0,1,3,4,7,8,12,13,14,16,17,18,19,23],prefix:20,prescript:[3,5],presenc:1,present:[2,5,22],preserv:15,pretti:[0,22],prevent:5,previou:[2,6,11],previous:20,prime:[6,19],print:[21,22,23],print_corr2_param:23,print_corr3_param:23,print_param:23,prior:[1,3,4,15],probabl:[0,2,3,4,5,6,9,15,20,21,22],problem:[2,6,20,22],problemat:15,procedur:22,process:[0,1,2,3,4,5,6,7,8,9,12,13,14,16,17,18,19,20,21,22],process_auto:[7,8,9,13,14,18,19],process_cross12:[8,14,19],process_cross:[7,8,9,12,13,14,16,17,18,19],process_pairwis:[7,12,13,16,17,18],produc:[5,6,9,21,22],product:[5,9],profil:[16,21],program:[20,23],progress:[1,3,4,21],project:[0,8,9,21],propag:[2,5,7,8,12,13,14,16,17,18],properli:[2,22],properti:[1,3,4,6,8,12,14,19],propos:8,provabl:22,prove:6,provid:[1,2,3,4,6,9,15,16,17,18,19,20,21,22,23],proxi:22,publish:20,pure:[6,8],purpos:[0,1,6,15,21,22],put:[0,5,9,20,21],pyclust:22,python3:20,python:[2,9,11,22],pythonpath:20,pyyaml:20,qquad:[7,16,18],qualiti:22,quantiti:[1,2,3,6,11,17,20,23],quartil:[1,3,4,21],question:[20,21],quick:1,quickli:[0,6],quit:0,quot:21,r_1:15,r_2:15,r_col:[1,21],r_ext:[1,21],r_nom:[7,8,12,13,14,16,17,18,19,21],ra_col:[1,9,20,21],ra_ext:[1,21],ra_unit:[1,6,9,20,21],radial:15,radian:[0,1,3,4,7,8,12,13,14,16,17,18,19,21,23],radii:2,radiu:[1,6,7,8,16,21],rais:[1,18,19],rand:[5,9,19],rand_cat:[1,19],rand_config:5,rand_fil:[9,21],rand_file_list2:21,rand_file_list3:21,rand_file_list:21,rand_file_nam:21,rand_file_name2:21,rand_file_name3:21,rand_list:9,random:[1,2,3,4,6,11,16,17,18,19,21,22],randomli:[6,22],randomst:[1,3,4,6],rang:[0,1,3,4,20,21],rangl:[1,6,7,8,12,13,14,16,17,18,19,22],rangle_:7,rangle_b:7,rank:[7,8,12,13,14,16,17,18,19,22],rather:[0,1,2,3,5,6,9,15,19,20,21,22],ratio:[0,3,5,8,16],ratti:22,ravel:[3,4,7,8,14],raw:[5,9,16,17,21],raw_varxi:[16,17],raw_xi:[16,17],raw_xi_im:16,rawxi:[16,17],rdd:[2,9,19,21],rdr:[2,9,21],reach:6,read:[1,2,7,8,9,12,13,14,16,17,18,19,20,21,22,23],read_catalog:1,read_config:23,read_patch:1,read_patch_cent:1,reader:11,readjust:[3,4],readthedoc:20,real:[0,3,5,7,8,9,12,16,21,22],realist:15,realli:[0,1,2,12,13,14,15,19,21,22],reason:[0,2,6,8,9,22],reassembl:9,rebuild:1,recalcul:3,recarrai:1,recent:1,recommend:[0,5,9,22,23],record:[5,20],recov:1,rectangular:0,red:22,redo:5,reduc:[7,8,11,12,13,14,15,16,17,18,19,21],refer:[1,3,6,15,16,20,21],regardless:[8,14,19],region:[0,6,22],regular:[6,7,8,12,13,14,16,17,18,19,20,22],rel:[0,5,6,8,14,15,19,20,22],relat:[0,3,4,8,9,11,16,21],releas:[2,20],relev:[1,2,3,4,6,8,9,14,15,19,21,23],reliabl:22,remak:2,remov:[1,6,7,12,13,16,17,18],reorder:5,repackag:6,repeat:[5,6,15,22],repeatedli:1,repetit:[3,4,5],replac:[3,4,5],repo:9,report:[2,11,23],repositori:20,repr:[7,8,12,13,14,16,17,18,19],repres:[1,6,9,15,16,17],represnt:22,request:[6,11],requir:[0,1,2,3,4,5,6,15,20,21,22,23],reran:22,resampl:[3,4,5],research:20,resiz:1,resize_cach:1,resolut:0,respect:[0,5,6,8,9,21,22,23],respons:2,rest:21,restrict:11,result:[0,3,4,5,6,8,9,20,21,22],retir:2,reus:1,revers:18,rewrit:2,ricci:2,right:[0,1,6,7,9,15,16,18,22],right_edg:[0,3],rlen:[2,3,11],rmax:[7,16,18],rmjarvi:20,rms:[6,22],rng:[1,3,4,6],rnom1d:8,rnom:[0,7,8,12,13,14,16,17,18,19],root:[1,6,21,23],roughli:[0,5,9,22],round:[3,4],routin:8,row:[1,2,21,22],row_count:1,rparallel:[3,21],rperp:[3,11],rperp_alia:3,rrd:[2,9,21],rrr:[9,19,21],rule:23,run:[1,2,5,6,7,8,9,11,12,13,14,16,17,18,19,21,23],run_kmean:[1,6,21,22],run_with_mpi:22,runawai:22,runtimeerror:[18,19],s_i:[6,22],sacrific:[7,8,12,13,14,16,17,18,19],safe:22,sai:[1,15,20,21,22],same:[0,1,3,4,5,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],sampl:[3,4,6,7,8,11,12,13,14,16,17,18,19,20,22,23],sample_config:23,sample_pair:3,save:[1,5,9,22],save_patch_dir:[1,22],scalar:[1,3,5,6,9,12,13,14,17,20,21],scale:[0,5,6,20,21],scatter:[0,3,4,5,22],scenario:22,schenid:21,schneider:[7,8,16,18,20,21],scienc:[0,15,22],scientif:21,scipi:22,screen:21,script:[20,21,22,23],search:[1,11],sec:20,secco:2,second:[1,3,4,6,7,8,12,13,14,15,16,17,18,19,21,22,23],section:[1,8,21,23],see:[0,1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],seed:22,seem:[5,22],seen:0,select:[1,3,4,5,6,21,22],self:[1,3,4,6,7,8,12,13,14,16,17,18,19],semi:21,send:22,sens:[3,4,7,8,12,13,14,16,17,18,19,22],sent:22,sep:[3,6,21],sep_unit:[3,4,6,7,8,9,11,12,13,14,16,17,18,19,20,21],separ:[0,1,3,4,5,6,7,8,9,11,12,13,14,16,17,18,19,21],sequenc:[1,22],set:[0,1,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,21,22,23],settabl:6,settl:6,setup:20,setup_logg:23,sever:[3,5,6,8,9,21,22],shape:[1,3,4,5,6,7,8,9,12,14,16,17,19],shear:[0,1,3,4,5,6,11,17,20,21,22],shift:[0,6],shortli:9,shot:[1,2,3,4,7,8,11,12,13,14,16,17,18],should:[0,1,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],show:[0,2],shown:1,side:[0,4,8,14,19],sig_gam:[7,21],sig_map:[7,8,21],sig_mapsq:[16,21],sig_napsq:[16,21],sig_nmap:[16,21],sig_nn_mm:[16,21],sig_norm:[16,21],sight:11,sigma:[12,16,17,21],sigma_gam0:8,sigma_gam1:8,sigma_gam2:8,sigma_gam3:8,sigma_gam:21,sigma_xi:[13,18,21],sigma_xim:7,sigma_xip:7,sigma_zeta:[14,19,21],sign:[0,1,4,9,15,21],signal:[0,5,9,18],signficantli:20,signific:15,significantli:[0,5,6,8,9,14,15,19,20],simiar:21,similar:[1,3,4,5,6,9,16,20,22],similarli:[0,9,16,19,21],simpl:[1,8,16,17,18,21,22],simplefield:6,simpler:9,simplest:[1,5,9,19,22],simpli:[1,3,5,22],simul:0,simulu:15,sin:15,sinc:[0,1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22],singh:0,singl:[1,3,4,5,7,8,9,12,13,14,16,17,18,19,21,22],site:20,situat:[8,9,14,19],six:[2,8,14,19],size:[0,1,6,7,8,9,12,13,14,16,17,18,19,20,21,22],skew:[8,21],skip:[0,1,6,9,21],skl:8,sklearn:22,sky:[0,15,20,21,22],slate:[6,7,12,13,16,17,18],slice:1,slight:0,slightli:[0,3,5,6,9,20,22],slop:[0,3,4],slow:[1,22],slower:[0,6,15,20],slowest:20,small:[0,5,6,15,22],small_cat:22,smaller:[0,6,22],smallest:15,smartli:6,smooth:21,softwar:20,solut:[6,21,22],some:[0,1,2,3,4,5,6,8,9,12,15,20,21,22,23],somehow:6,someth:[2,3,5,7,12,13,16,17,18,20,21,22],sometim:[0,5,21],somewhat:[5,6,22],somewher:[1,3,4,6,20,22],sooner:20,sort:6,sourc:[1,3,4,6,7,8,12,13,14,15,16,17,18,19,20,21,22,23],source_cat:[5,9,22],source_config:22,source_fil:[9,22],space:[0,9,15,21,22],span:0,sparser:22,spatial:[5,22],specif:[0,1,2,4,5,6,9,15,20,21,22,23],specifi:[0,1,3,4,5,6,9,20,21,22,23],specifii:22,speed:[6,7,8,12,13,14,16,17,18,19,20],speedup:0,spent:6,sphere:[1,4,6,9,15],spheric:[1,3,4,6,7,8,12,13,14,15,16,17,18,19,21],sphinx:20,spinor:[1,6],split:[1,3,4,5,6,8,14,19,21,22],split_method:[1,3,4,6,21],spread:[6,21],sqrt:[7,8,12,13,14,15,16,17,18,19],squar:6,stabl:[20,22],stage:20,standalon:20,standard:[1,3,4,6,7,8,14,18,19,22],star:[6,12,22],start:[0,1,3,4,5,6,11,20,21,22,23],state:[1,9],statist:[0,3,4,5,7,8,9,14,16,18,19,21],statistc:3,std:6,stdout:23,step:[1,3,4,5,6,7,8,9,12,13,14,16,17,18,19,22],still:[0,2,6,23],stop:[0,3,4,6,21],storag:[7,8,12,13,14,16,17,18,19],store:[1,3,4,6,9,20],str:[1,3,4,6,7,8,12,13,14,16,17,18,19,21,23],straight:[3,4],straightforward:[20,22],string:[1,3,4,8,9,14,15,19,23],strongli:22,structur:[1,3,4,6,22,23],studi:21,stuff:[6,22],sub:[1,3,4,6],subclass:6,subsequ:22,subset:[3,6],subtleti:0,subtract:19,success:0,sudo:20,suffer:[6,9],suffic:20,suffici:9,suggest:21,sum:[1,5,6,7,8,12,13,14,16,17,18,19,21,22],sum_:[6,22],sum_i:[5,6,22],sumw:1,sunset:2,support:[2,19,21],suppos:5,sure:[1,5,6,8,14,19,22],surprisingli:22,survei:[9,12,22],symmetr:0,symmetri:[8,14,19],syntax:1,system:[1,3,4,6,15,20,21],szalai:[1,9,16,18,19,21],szapudi:21,t_i:8,tabl:[1,9,21],take:[1,2,3,4,5,6,8,9,14,15,19,20,22,23],taken:[3,4,5,15,21],tangent:20,tangenti:[3,16,21],tarbal:20,target:[6,22],technic:[1,2,6,22],tell:[5,22],temp:22,temperatur:[3,13,14,20,21],temporari:22,tend:[0,1,5,6,22],tendanc:6,tendenc:6,term:[2,3,4,5,6,12,13,14,15,17,19,21,22],test:[0,6,11],test_requir:20,text:21,than:[0,1,2,3,4,5,6,9,15,19,20,21,22],thank:2,thei:[0,1,2,3,4,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],them:[1,2,6,7,8,9,12,13,14,16,17,18,19,20,21,22],theoret:0,therefor:[1,3,8,14,19,22],theta:15,thi:[0,1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],thing:[1,2,5,19,20,21,22],think:[0,2,22],third:[1,3,8,14,19,21],those:[1,3,4,6,7,8,9,12,13,14,15,16,17,18,19,20,21,23],though:[9,21],thread:[1,3,4,7,8,12,13,14,16,17,18,19,21],three:[2,3,6,8,11,14,19,21,23],through:[6,9],thu:[0,15,22],tightli:15,time:[1,3,4,5,6,7,8,12,13,14,16,17,18,19,20,22],tmp_dir:22,togeth:[7,8,12,13,14,16,17,18,19],token:1,tol:6,toler:6,tomograph:5,too:[0,1,22],tool:9,top:[0,1,3,4,6,21],top_edg:0,tophat:7,tot:[18,19],total:[0,1,5,6,7,8,9,12,13,14,16,17,18,19,21,22],touch:0,track:[0,1,2,3,4,5,6,8,14,19],trade:22,tradit:22,tradition:6,transport:0,trapezoid:0,travers:[0,1,6,21],treat:21,tree:[0,1,3,4,6,20,21,22],treecorr:[0,1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,22,23],treecorr_licens:20,tri:[1,2,23],triang:8,triangl:[2,4,8,9,14,19,20,21],trig:1,trigger:1,trigonometr:15,trim:1,tripl:8,trivial:15,troubl:20,tupl:[3,6,7,8,16,17,18,19,23],turn:[0,1,6,8,14,15,19,20,22],tutori:[11,20],twice:21,two:[0,1,4,5,6,7,8,11,12,13,14,15,16,17,18,19,21,22,23],twod:[3,4,9,11],txcov:5,txt:[20,23],type:[0,1,3,4,5,6,7,8,12,13,14,16,17,18,19,21,22,23],typic:[0,1,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22],u1d:[8,14,19],u_nom:[8,14,19,21],ubin_s:[4,8,14,19,21],unari:[3,4],unbias:21,uncertainti:21,uncompens:[9,16,17],uncorrect:[16,17],under:20,underestim:[7,8,12,13,14,16,17,18],understand:0,unfortun:9,uniform:[3,4,9,15,21,22],uniformli:[0,15],unit:[0,1,3,4,6,7,8,9,12,13,14,15,16,17,18,19,20,21,23],unless:[3,4,21],unlik:[1,8,15],unload:1,unnecessari:[1,15],unstabl:6,until:[1,5,6,7,8,12,13,14,16,17,18,19,22],updat:[2,6,9,20,23],upgrad:20,upper:22,upshot:6,usag:[7,8,12,13,14,16,17,18,19,20,22,23],use:[0,1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],used:[1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],useful:[0,1,2,6,9,15,20,21,23],user:[2,5,20,22],uses:[1,3,4,6,15,16,17,21,22,23],using:[0,1,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22],usual:[1,3,4,5,6,21,22,23],util:[11,22],v1d:[8,14,19],v_nom:[8,14,19,21],valid:[0,1,3,4,5,15,23],valid_nam:23,valid_param:23,valu:[0,1,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],value_typ:23,valueerror:1,var_method:[1,3,4,5,7,12,13,16,17,18],varg1:[7,8],varg2:[7,8],varg3:8,varg:[1,9,12,16],vargam0:8,vargam1:8,vargam2:8,vargam3:8,vargamsq:7,vargamsq_:7,variabl:[20,21,23],varianc:[1,2,3,4,7,8,9,11,12,13,14,16,17,18,19,21],variant:20,variat:[5,22],varieti:[0,2,20],variou:[1,3,4,8,9,12,13,14,15,17,20,21,22],vark1:[13,14],vark2:[13,14],vark3:14,vark:[1,12,17],varmap3:8,varmapsq:7,varnmap:16,varnsq:18,varxi:[5,9,12,13,16,17,18],varxim:[5,7],varxip:[5,7],varzeta:[14,19],vassilvitskii:22,vbin_siz:[4,8,14,19,21],vec:[6,22],vector:[1,3,4,5,6,7,15],verbos:[1,3,4,7,8,12,13,14,16,17,18,19,21,23],veri:[0,9,21,22],verif:22,versa:6,version:[1,3,4,6,7,10,11,12,13,15,16,17,18,20,21],via:[1,3,8,9,14,19,21,22,23],vice:6,w_col:[1,21],w_ext:[1,21],w_i:5,wai:[0,1,3,4,5,6,8,9,14,15,19,20,21,22,23],want:[0,1,2,3,4,5,6,9,15,19,20,21,22],warn:[1,3,4,20,21,23],wasn:[1,2],wcss:6,weak:[3,6,20],weakref:[1,6],weight:[0,1,3,4,5,6,7,8,9,12,13,14,16,17,18,19,20,21],well:[0,1,2,3,4,6,7,9,22],went:21,were:[1,3,5,9,21,22],what:[0,1,2,3,4,5,9,15,19,20,21,22,23],whatev:[0,1,5,21],when:[0,1,2,3,4,5,6,8,9,14,15,19,20,21,22,23],whenev:[1,3,4],where:[0,1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22],wherebi:3,wherein:1,whether:[0,1,3,4,6,7,8,12,13,14,15,16,17,18,19,21,22],which:[0,1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],whichev:[6,22],whitespac:[1,21],who:[0,2,20,22],whole:6,whose:[0,2,3,6,8,14,19,21,23],wich:23,wide:9,width:[0,3,4,21],wiki:6,wikipedia:6,within:[0,6,9],without:[1,3,4,5,15,22,23],won:[0,1,3,4,20,21,22],word:[1,15,22],work:[1,3,4,5,6,7,8,9,12,13,14,16,17,18,19,20,22],world:0,worri:20,wors:22,worth:22,would:[0,1,3,5,6,9,12,13,14,17,19,20,21,22,23],wouldn:1,wpo:[1,21],wpos_col:[1,21],wpos_ext:[1,21],write:[1,2,3,4,7,8,9,12,13,14,16,17,18,19,20,21,22,23],write_patch:[1,2],write_patch_cent:[1,22],write_patch_fil:22,writemap3:8,writemapsq:7,writenmap:16,writenorm:[16,18],written:[1,7,8,12,13,14,16,17,18,19,22],wrong:0,wrote:9,x_1:15,x_2:15,x_col:[1,9,21],x_ext:[1,21],x_imag:9,x_j:[6,22],x_unit:[1,21],x_valu:9,xi_:7,xi_i:5,xi_im:[3,5,12,16],xi_minu:20,xi_plu:20,xim:[3,5,7,9,20,21],xim_im:[7,21],xip:[3,5,7,9,20,21,22],xip_im:[7,21],xmax:21,xmin:21,xperiod:[3,4,15,21],y_1:15,y_2:15,y_col:[1,9,21],y_ext:[1,21],y_imag:9,y_unit:[1,21],y_valu:9,yaml:23,yes:23,yet:[1,3,4,7,8,12,13,14,16,17,18,19,20],yield:[3,4,22],you:[0,1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23],your:[0,1,3,4,5,6,7,9,12,13,15,16,17,18,20,21,22],yourself:[3,20],yperiod:[3,4,15,21],z_1:15,z_2:15,z_col:[1,21],z_ext:[1,21],zero:[0,1,21,22],zeta:[4,8,9,14,19,21],zip:9,zperiod:[3,4,15,21],zuntz:2},titles:["Binning","Input Data","Changes from version 4.1 to 4.2","Two-point Correlation Functions","Three-point Correlation Functions","Covariance Estimates","Fields","GGCorrelation: Shear-shear correlations","GGGCorrelation: Shear-shear-shear correlations","Getting Started Guide","Previous History","TreeCorr Documentation","KGCorrelation: Kappa-shear correlations","KKCorrelation: Kappa-kappa correlations","KKKCorrelation: Kappa-kappa-kappa correlations","Metrics","NGCorrelation: Count-shear correlations","NKCorrelation: Count-kappa correlations","NNCorrelation: Count-count correlations","NNNCorrelation: Count-count-count correlations","Overview","Configuration Parameters","Patches","Using configuration files"],titleterms:{"class":[1,9],"function":[3,4,9,21,23],"new":2,The:[1,23],Use:22,Using:[9,20,22,23],about:21,accumul:9,api:2,arc:15,arrai:9,auto:9,bin:[0,9,21],bin_slop:0,bootstrap:5,brute:0,bug:[2,20],build:9,calcul:21,catalog:[1,5,9],center:22,chang:2,comparison:22,configur:[21,23],corr2:[20,23],corr3:[20,23],correl:[3,4,7,8,9,12,13,14,16,17,18,19,20,21],count:[16,17,18,19],covari:5,data:1,defin:[9,22],depend:20,deriv:[5,21],dict:23,document:11,download:20,estim:5,euclidean:15,execut:23,featur:[2,20],field:6,file:[1,21,23],fisherrperp:15,fix:2,from:[2,9,23],get:9,ggcorrel:7,gggcorrel:8,guid:9,histori:10,implement:22,improv:2,input:[1,21,22],instal:20,jackknif:5,jupyt:9,kappa:[12,13,14,17],kgcorrel:12,kkcorrel:13,kkkcorrel:14,line:15,linear:0,load:9,log:0,manual:9,marked_bootstrap:5,matrix:5,mean:22,memori:22,method:5,metric:15,miscellan:21,modul:20,mpi:22,ngcorrel:16,nkcorrel:17,nncorrel:18,nnncorrel:19,numpi:9,oldrperp:15,option:[0,20],other:[0,1,9,22,23],output:[0,21],overview:20,paramet:21,patch:22,perform:2,period:15,point:[3,4,9,20],previou:10,python:[20,23],quantiti:[0,5,21],random:[5,9],reader:1,reduc:22,relat:[1,23],report:20,request:20,restrict:15,rlen:15,rperp:15,run:[20,22],sampl:5,sep_unit:0,separ:15,shear:[7,8,9,12,16],shot:5,sight:15,start:9,test:20,three:[4,9,20],treecorr:[11,20],tutori:9,two:[3,9,20],twod:0,util:[1,23],varianc:5,version:2}}) \ No newline at end of file