pub struct ProjectedEigen;Expand description
Projected-eigen distance for multi-vector similarity.
Computes the negated sum of squared inner products over all query/document vector pairs:
ProjectedEigen(Q, D) = \sum_{i} \sum_{j} -IP(q_i, d_j)²Unlike Chamfer, which keeps only the best-matching
document vector per query vector, this accumulates a contribution from
every pair, so the score reflects the full query–document interaction. As
with the other multi-vector distances, lower is better.
Implements PureDistanceFunction
for matrix view types.
Trait Implementations§
Source§impl Clone for ProjectedEigen
impl Clone for ProjectedEigen
Source§fn clone(&self) -> ProjectedEigen
fn clone(&self) -> ProjectedEigen
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for ProjectedEigen
Source§impl Debug for ProjectedEigen
impl Debug for ProjectedEigen
Source§impl<T: Copy> PureDistanceFunction<QueryMatRef<'_, Standard<T>>, MatRef<'_, Standard<T>>> for ProjectedEigen
impl<T: Copy> PureDistanceFunction<QueryMatRef<'_, Standard<T>>, MatRef<'_, Standard<T>>> for ProjectedEigen
Auto Trait Implementations§
impl Freeze for ProjectedEigen
impl RefUnwindSafe for ProjectedEigen
impl Send for ProjectedEigen
impl Sync for ProjectedEigen
impl Unpin for ProjectedEigen
impl UnsafeUnpin for ProjectedEigen
impl UnwindSafe for ProjectedEigen
Blanket Implementations§
impl<T> AsyncFriendly for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more