Skip to content

Releases: libscran/umappp

v3.3.1

17 Apr 16:26

Choose a tag to compare

  • Bumped the required version of irlba in the find_package() call.

v3.3.0

17 Apr 01:34

Choose a tag to compare

  • Updates to use the latest version of irlba, which provides some performance improvements.
  • Added Options::num_threads_spectral so that users can explicitly control the number of threads used in spectral initialization. This is required as a different number of threads will slightly change the floating-point results in irlba; users should leave this at 1 if they want consistency between the serial results and multi-threading in other parts of umappp.
  • Converted Options::parallel_optimization to Options::num_threads_optimize for consistency and to provide more flexibility. Specifically, the best number of threads for spin-lock parallelization may not be the same as the number of threads elsewhere in umappp.

v3.2.1

27 Feb 02:00

Choose a tag to compare

  • Updated versions of knncolle, subpar and sanisizer dependencies.
  • Fixed option for enabling parallel optimization to actually be a bool.
  • parallelize() now returns the number of used workers.

v3.2.0

08 Nov 02:43

Choose a tag to compare

  • Updates to use the latest Eigen and irlba libraries.

v3.1.0

08 Sep 23:14

Choose a tag to compare

  • Minor change to the negative sampling to be more consistent with the original uwot code. Specifically, we account for integer truncation when updating the epoch_to_next_negative_sample from num_neg_samples.
  • Added more options to control initialization of the embedding. This includes the scaling of the initial coordinates, the seed of the PRNG, and whether to jitter after spectral initialization (for consistency with uwot).
  • Status::run() now requires the embedding array as an explicit argument, rather than holding onto the pointer from initialize(). This reduces the risk of dangling pointers inside the Status object.
  • Optional parameters (namely a, b and num_epochs) are now represented by std::optional wrappers instead of relying on sentinel values to indicate that they are unset.
  • Added options to control IRLBA during spectral initialization.
  • Check for IRLBA convergence to determine if spectral initialization was successful.

v3.0.0

21 May 16:43

Choose a tag to compare

  • Actually use Gauss-Newton + Levenberg-Marquardt dampening in the a/b search.
  • Use Newton's method to find the sigma for computing neighbor similarities.
  • Updated code for the latest knncolle interface.

v2.0.1

18 Aug 00:47

Choose a tag to compare

  • Bumped up the min_dist to 0.1 to match uwot::umap2's default.
  • Don't rely on an extra template argument only available in the latest irlba.

v2.0.0

17 Aug 19:07

Choose a tag to compare

  • Switch from classes to a free initialize() function with an Options argument.