- Reduce the overhead for dense similarity matrices by improving rounding numbers and conversion to Rcpp vectors.
- Return a dense matrix if
sparse = FALSE
to save space in RAM.
- Make detection of Intel oneAPI Threads Building Blocks (TBB) library more reliable.
- Use more recent Intel oneAPI Threads Building Blocks (TBB) library to improve the stability in parallel computing.
- Add
options(proxyC.threads)
to control the number of threads in parallel computing (butRCPP_PARALLEL_NUM_THREADS
still has effect).
- The RcppParallel package is no longer required as the TBB library in the operating system (Linux and MacOS) or Rtools (Windows) is used.
- Linux and MacOS must have the TBB library to enable parallel computing before installing this package from the source.
- Add "fjaccard" to
simil()
for Fuzzy Jaccard similarity (#42).
- Explicitly setting
use_nan = FALSE
will suppress warnings insimil()
anddist()
. - Add vignettes to explain how the similarity and distance measures are computed.
- Make further changes for Matrix v1.4-2.
- Add "jensen" to
dist()
for Jensen-Shannon divergence as a symmetric version of Kullback-Leibler divergence. - Change how
x
andy
are coerced to dgCMatrix for Matrix v1.4-2.
- Add "jeffreys" to
dist()
for Jeffreys divergence. It is a symmetric version of Kullback-Leibler divergence (#31).
rowSds()
,colSds()
,rowZeros()
andcolZeros()
return row or column names. They also work with both dense and sparse matrices (#28).
- Change "hamman" to "hamann" in
simil()
to correct misspelling (#26).
simil()
anddist()
work with both dense and sparse matrices.use_nan = TRUE
can be used not only for correlation but for all the distance and similarity measures.
- Computing the correlation similarity on vectors with a standard deviation will
generate a zero correlation and a warning. The warning can be turned off by
setting
use_nan = TRUE
, in which case the computed correlation similarity will beNaN
instead (#21).
- Fixed infinite values being returned by the correlation similarity (#20).
- Added a
diag
argument to compute similarity/distance only for corresponding rows or columns (#13). - Added a
smooth
parameter to chisquared and kullback leibler distances to solve negative values in sparse matrices (#15). - Added the hamming distance (#18)
- Fixed the chi-squared distance to match
stats::chisq.test()
(#14). - Fixed a bug in pairwise similarity/distance computation when
drop0 = TRUE
(#17).
- Add the
drop0
argument to address the floating point precision issue (#10).
- The digit argument is now passed to
dist()
(#11).
- Add
rowSds()
,colSds()
,rowZeros()
andcolZeros()
(#9).
- No longer assumes symmetry of resulting matrix when
x != y
(#4).
- Add the
digits
argument to correct rounding errors in C++ (#5).