Class Similarity

java.lang.Object
org.ojalgo.data.proximity.Similarity

public abstract class Similarity extends Object
Similarity / distance utilities commonly used in ML and information retrieval. Provides cosine similarity ([-1,1]) and cosine distance (1 - cosine similarity). Overloads are provided for both raw double[] and Access1D (treated as linearised 1D vectors using their element order).
  • Constructor Details

    • Similarity

      public Similarity()
  • Method Details

    • cosine

      public static double cosine(Access1D<?> a, Access1D<?> b)
      Cosine similarity between 2 matrices treated as flattened vectors.
      Parameters:
      a - matrix a
      b - matrix b
      Returns:
      cosine similarity in [-1, 1]
      Throws:
      NullPointerException - if a or b is null
      IllegalArgumentException - if element counts differ or either has zero norm
    • cosine

      public static double cosine(double[] a, double[] b)
      Cosine similarity between two equal-length vectors.
      Parameters:
      a - vector a
      b - vector b
      Returns:
      cosine similarity in [-1, 1]
      Throws:
      NullPointerException - if a or b is null
      IllegalArgumentException - if lengths differ or either vector has zero norm