# Cross-matching catalogs with a common object ID¶

 crossmatch(x, y[, skip_bounds_checking]) Finds where the elements of x appear in the array y, including repeats. unsorting_indices(sorting_indices) Return the indexing array that inverts numpy.argsort.

# Calculating quantities for objects grouped into a common halo¶

 group_member_generator(data, grouping_key, …) Generator used to loop over grouped data and yield requested properties of members of a group. compute_richness(unique_halo_ids, …) For every ID in unique_halo_ids, calculate the number of times the ID appears in halo_id_of_galaxies.

# Generating Monte Carlo realizations¶

 monte_carlo_from_cdf_lookup(x_table, y_table) Randomly draw a set of num_draws points from any arbitrary input distribution function. build_cdf_lookup(y[, npts_lookup_table]) Compute a lookup table for the cumulative distribution function specified by the input set of y values.

# Matching one distribution to another¶

 distribution_matching_indices(…[, seed]) Calcuate a set of indices that will resample (with replacement) input_distribution so that it matches output_distribution. resample_x_to_match_y(x, y, bins[, seed]) Return the indices that resample x (with replacement) so that the resampled distribution matches the histogram of y. bijective_distribution_matching(x_in, x_desired) Replace the values in x_in with x_desired, preserving the rank-order of x_in

# Rotations, dot products, and other operations in 3d space¶

 elementwise_dot(x, y) Calculate the dot product between each pair of elements in two input lists of 3d points. elementwise_norm(x) Calculate the normalization of each element in a list of 3d points. angles_between_list_of_vectors(v0, v1[, tol]) Calculate the angle between a collection of 3d vectors vectors_between_list_of_vectors(x, y, p) Starting from two input lists of vectors, return a list of unit-vectors that lie in the same plane as the corresponding input vectors, and where the input p controls the angle between the returned vs. rotation_matrices_from_angles(angles, directions) Calculate a collection of rotation matrices defined by an input collection of rotation angles and rotation axes. rotation_matrices_from_vectors(v0, v1) Calculate a collection of rotation matrices defined by the unique transformation rotating v1 into v2 about the mutually perpendicular axis. rotate_vector_collection(rotation_matrices, …) Given a collection of rotation matrices and a collection of 3d vectors, apply each matrix to rotate the corresponding vector.

# Probabilistic binning¶

 fuzzy_digitize(x, centroids[, min_counts, seed]) Function assigns each element of the input array x to a centroid number.

# Estimating two-dimensional PDFs¶

 sliding_conditional_percentile(x, y, …[, …]) Estimate the cumulative distribution function Prob(< y | x).

# Satellite orientations and intra-halo positions¶

 rotate_satellite_vectors(satellite_vectors, …) Rotate an input set of satellite_vectors by the input satellite_rotation_angles about the axis associated with each satellite’s host halo. calculate_satellite_radial_vector(…) For each satellite, calculate the radial vector pointing from the associated host halo to the satellite, accounting for periodic boundary conditions. reposition_satellites_from_radial_vectors(…) Given original and new host-centric coordinates for satellites, reposition the satellites to their new spatial coordinates, accounting for periodic boundary conditions.