conditional_pairwise_distance_no_pbc¶
- halotools.mock_observables.pair_counters.marked_cpairs.conditional_pairwise_distance_no_pbc(x_icell1, y_icell1, z_icell1, x_icell2, y_icell2, z_icell2, max_r, w_icell1, w_icell2, cond_func_id)¶
Calculate the conditional limited pairwise distance matrix, \(d_{ij}\).
calculate the distance between all pairs with sperations less than or equal to
max_r
if a conditon is met.- Parameters:
- x_icell1numpy.array
array of x positions of length N1 (data1)
- y_icell1numpy.array
array of y positions of length N1 (data1)
- z_icell1numpy.array
array of z positions of length N1 (data1)
- x_icell2numpy.array
array of x positions of length N2 (data2)
- y_icell2numpy.array
array of y positions of length N2 (data2)
- z_icell2numpy.array
array of z positions of length N2 (data2)
- max_rfloat
maximum separation to record
- w_icell1numpy.array
array of floats
- w_icell2numpy.array
array of floats
- cond_func_idint
integer ID of conditional function
- Returns:
- dnumpy.array
array of pairwise separation distances
- inumpy.array
array of 0-indexed indices
- jnumpy.array
array of 0-indexed indices
Examples
For demonstration purposes we create a randomly distributed set of points within a unit cube.
>>> Npts = 1000
>>> x = np.random.random(Npts) >>> y = np.random.random(Npts) >>> z = np.random.random(Npts) >>> weights = np.random.random(Npts)
Calculate the distance between all pairs with separations less than 0.5 if the weight associated with the first point is larger than the second point:
>>> r_max = 0.5 >>> d,i,j = conditional_pairwise_distance_no_pbc(x,y,z,x,y,z,r_max,weights,weights,1)