File size: 1,032 Bytes
d1f3499
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import numpy as np


def find_exact_match(matrix, query_vector, decimals=9):
    """
    Finds the index of the vector in 'matrix' that is the closest match to 'query_vector'
    when considering rounding to a specified number of decimal places.

    Parameters:
    - matrix: 2D numpy array where each row is a vector.
    - query_vector: 1D numpy array representing the vector to be matched.
    - decimals: Number of decimals to round to for the match.

    Returns:
    - Index of the exact match if found, or -1 if no match is found.
    """
    # Round the matrix and query vector to the specified number of decimals
    rounded_matrix = np.round(matrix, decimals=decimals)
    rounded_query = np.round(query_vector, decimals=decimals)

    # Find the index where all elements match
    matches = np.all(rounded_matrix == rounded_query, axis=1)

    # Return the index if a match is found, otherwise return -1
    if np.any(matches):
        return np.where(matches)[0][0]  # Return the first match
    else:
        return -1