Math::Vector::Similarity

Lightweight pure-Perl functions for comparing numeric vectors. Works on plain ArrayRefs of any dimensionality, with zero dependencies.

Functions

Synopsis

use Math::Vector::Similarity qw( cosine_similarity cosine_distance );

my $sim = cosine_similarity([0.1, 0.2, 0.3], [0.1, 0.25, 0.28]);
# 0.998...

# Compare embedding vectors from any LLM API
my $emb1 = $engine->simple_embedding("Perl programming");
my $emb2 = $engine->simple_embedding("Italian cooking");
say cosine_similarity($emb1, $emb2);  # low — different topics

Installation

cpanm Math::Vector::Similarity