Предположим, у вас есть только две группы.Вы пытаетесь вычислить скалярное произведение
(a_i1 + b_j1, a_i2 + b_j2)
= (a_i1,a_i2) + (b_j1,b_j2) + (a_i1,b_j2) + (a_i2,b_j1) # <- elementary scalar products
Итак, если вы знаете необходимые элементарные скалярные произведения между элементами ваших векторов a_i, b_j, c_k, то вам не нужно «декодировать» xy и может вычислить скалярное произведение напрямую.
Обратите внимание, что это именно то, что происходит, когда вы вычисляете обычное евклидово расстояние на неортогональной основе.