marksverdhei's picture
Add utils
d1f3499
raw
history blame
1.03 kB
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