def METHOD_NAME(A, p):  # pragma: no cover
    """Select only the intersection of rows and columns of ``A`` matching the
    basis indices ``p``. Faster than double numpy slicing.
    Parameters
    ----------
    A : 2D-array
        Dense matrix to select from.
    p : sequence of int
        The basis indices to select.
    Returns
    -------
    B : 2D-array
        The matrix, of size ``(len(p), len(p))``.
    Examples
    --------
    >>> A = np.arange(25).reshape(5, 5)
    >>> A
    array([[ 0,  1,  2,  3,  4],
           [ 5,  6,  7,  8,  9],
           [10, 11, 12, 13, 14],
           [15, 16, 17, 18, 19],
           [20, 21, 22, 23, 24]])
    >>> subselect(A, [1, 3])
    array([[ 6,  8],
           [16, 18]])
    """
    dp = len(p)
    out = np.empty((dp, dp), dtype=A.dtype)
    for i in numba.prange(dp):
        for j in numba.prange(dp):
            out[i, j] = A[p[i], p[j]]
    return out