Вычислите косинусное сходство (cosine similarity) между двумя векторами.
cos(A, B) = (A · B) / (||A|| × ||B||)
где A · B — скалярное произведение, ||A|| — евклидова норма.
def cosine_similarity(a: list[float], b: list[float]) -> float:
cosine_similarity([1, 0, 0], [0, 1, 0]) → 0.0
cosine_similarity([1, 2, 3], [1, 2, 3]) → 1.0
cosine_similarity([1, 1], [-1, -1]) → -1.0
Результат округлите до 4 знаков после запятой.
- 1 ≤ len(A) = len(B) ≤ 10⁴
- -10³ ≤ A[i], B[i] ≤ 10³
- Векторы ненулевые
a = [1,0,0]b = [0,1,0]0a = [1,2,3]b = [1,2,3]1a = [1,1]b = [-1,-1]-1