From 6e282546de63c731d8761f64a68ecbffb7d087d0 Mon Sep 17 00:00:00 2001
From: Alice BRENON <alice.brenon@ens-lyon.fr>
Date: Thu, 25 Jul 2024 22:40:24 +0200
Subject: [PATCH] Add a function to the LexicalSimilarities to compute the
 projection of a vector on the subspace it shares with another vector (useful
 to explain how keysIntersection can be lower than colinearity)

---
 GEODE/Visualisation/LexicalSimilarities.py | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/GEODE/Visualisation/LexicalSimilarities.py b/GEODE/Visualisation/LexicalSimilarities.py
index ed7ba84..8f60903 100644
--- a/GEODE/Visualisation/LexicalSimilarities.py
+++ b/GEODE/Visualisation/LexicalSimilarities.py
@@ -10,6 +10,10 @@ def keysIntersection(d1, d2):
 def scalarProduct(d1, d2):
     return sum([d1[k] * d2[k] for k in set(d1.keys()).intersection(d2)])
 
+def commonProjection(d1, d2):
+    s2 = set(d2)
+    return {k: v for k, v in d1.items() if k in s2}
+
 def norm(d):
     return math.sqrt(scalarProduct(d, d))
 
-- 
GitLab