Skip to content

MATLAB codes for computing various tensor decomposition.

Notifications You must be signed in to change notification settings

cohenjer/Tensor_codes

Repository files navigation

Tensor_codes

MATLAB codes for computing various tensor decomposition. Most of the shared code is rather unoptimized, to be used to check viability of the proposed new tensor decompositions models. Most algorithms are also based on variants of Alternating Least Squares.

Last Update : 21/02/2019

-------- Contents ---------

1/ Dictionary-based decompositions

A set of functions to decompose a tensor using a CPD model, where one factor lives among a large dictionary of known components.

a) M2PALS : Multiple dictionary are available, with bounds on the number of atoms to select for each dictionary.

b) MPALS : factor A in the CPD of a tensor T is so that A = D(:,K), K a set of idexes. Features greedy and flexible algorithms.

c) ProxOp : Proximal operators of l_1 and l_∞ induced matrix norm, python and Matlab codes are both available. The Python code is implemented in a more optimized manner.

2/ Coupled Decompositions

a) CCP : Flexibly coupled tensor decompositions.

b) NNP2 : Flexibly coupled PARAFAC2 with nonnegativity constraints in the coupled mode.

c) Registered-CP : comming soon

3/ Constrained Compression and acceleration for constrained tensor data

a) PROCO-ALS : Fast nonnegative tensor PARAFAC/Canonical Polyadic decomposition. Compression is based on randomized SVD.

4/ Nonlinear tensor decomposition

a) NLFD : Nonlinear fluorescence decomposition, designed for fluorescence samples with high concentrations, where the linearity of the CPD model does not hold. Based on the Levenberg Marquardt algorithm.

5/ Sparse Component analysis

a) ICASSP2019: codes for testing Nonnegative Sparse Matrix Factorization, with a MATLAB implementation of a brute force algorithm and a variant of k-subspace.

About

MATLAB codes for computing various tensor decomposition.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published