Class HeapMerger

java.lang.Object
org.tribuo.math.util.HeapMerger
All Implemented Interfaces:
Serializable, Merger

public class HeapMerger extends Object implements Merger
Merges each SparseVector separately using a PriorityQueue as a heap.

Relies upon VectorIterator.compareTo(VectorIterator).

See Also:
  • Constructor Details

    • HeapMerger

      public HeapMerger()
  • Method Details

    • merge

      public DenseSparseMatrix merge(DenseSparseMatrix[] inputs)
      Description copied from interface: Merger
      Merges an array of DenseSparseMatrix into a single DenseSparseMatrix.
      Specified by:
      merge in interface Merger
      Parameters:
      inputs - The matrices to merge.
      Returns:
      The merged matrix.
    • merge

      public SparseVector merge(SparseVector[] inputs)
      Description copied from interface: Merger
      Merges an array of SparseVector into a single SparseVector.
      Specified by:
      merge in interface Merger
      Parameters:
      inputs - The vectors to merge.
      Returns:
      The merged vector.
    • merge

      public static SparseVector merge(List<SparseVector> vectors, int dimension, int[] indicesBuffer, double[] valuesBuffer)
      Merges a list of sparse vectors into a single sparse vector, summing the values.
      Parameters:
      vectors - The vectors to merge.
      dimension - The dimension of the sparse vector.
      indicesBuffer - A buffer for the indices.
      valuesBuffer - A buffer for the values.
      Returns:
      The merged SparseVector.