Skip to contents

High-performance non-negative matrix factorization (NMF), singular value decomposition (SVD/PCA), and divisive clustering for large sparse and dense matrices, powered by Rcpp and Eigen.

NMF (Non-negative Matrix Factorization)

nmf

Fit NMF model (sparse or dense input, optional cross-validation)

evaluate

Evaluate reconstruction loss of an NMF model

align

Align factors across NMF models

predict,nmf-method

Project new data onto a fitted NMF model

consensus_nmf

Consensus clustering from multiple NMF runs

simulateNMF

Simulate data from a known NMF model

auto_nmf_distribution

Select distribution based on data characteristics

SVD / PCA

svd

Truncated SVD via deflation

pca

PCA (centered SVD)

reconstruct

Reconstruct matrix from SVD/PCA model

variance_explained

Proportion of variance per factor

NNLS (Non-negative Least Squares)

nnls

Solve non-negative least squares problems

Clustering

dclust

Divisive clustering via recursive rank-2 NMF

bipartition

Split samples into two groups via rank-2 NMF

bipartiteMatch

Match two sets of cluster labels

Factor Networks (multi-layer / multi-modal)

factor_net

Compile a factorization network

fit

Fit a compiled factor network

factor_input, nmf_layer, svd_layer

Node constructors

factor_shared, factor_concat, factor_add

Merge operations

factor_config, W, H

Configuration

cross_validate_graph

Cross-validate a factor network

StreamPress I/O

st_write, st_read

Read/write .spz files

st_info

Inspect .spz file metadata

st_read_obs, st_read_var

Read embedded metadata tables

st_read_gpu, st_free_gpu

GPU-direct .spz reading

GPU

gpu_available

Check GPU availability

gpu_info

Get GPU device details

Utilities

cosine

Cosine similarity

sparsity

Matrix sparsity fraction

Author

Maintainer: Zachary DeBruine zacharydebruine@gmail.com (ORCID)