caesarcai / Modewise_Tensor_Decomp

Mode-wise Tensor Decompositions: Multi-dimensional Generalizations of CUR Decompositions

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Mode-wise Tensor Decomposition

This repository is for our paper:

[1] HanQin Cai, Keaton Hamm, Longxiu Huang, and Deanna Needell. Mode-wise Tensor Decompositions: Multi-dimensional Generalizations of CUR Decompositions. Journal of Machine Learning Research, 22.185: 1-36, 2021.

To display math symbols properly, one may have to install a MathJax plugin. For example, MathJax Plugin for Github.

Introduction

In this work, we generalize CUR decompositions to high-order tensors under the low-multilinear-rank setting.
We provide two verisons of this generalization, namely Chidori and Fiber CUR decompositions.

Environment

This repo is developed with Tensor Toolbox v3.1. A future verison of this toolbox may also increase the peformance of our code; however, we cannot guarantee their compatibility.

Syntex

Chidori CUR

[Core,X_sub_mat] = Chidori_CUR(X, R, const);

Chidori CUR

[Core, X_sub_mat] = Fiber_CUR(X, R, const_R, const_C);

Input Description

  1. X : Inputed tensor.
  2. R : Targeted multilinear rank.
  3. const : Sampling constant in Chidori CUR. (Default value: 2)
  4. const_R : Sampling constant for core tensor in Fiber CUR. (Default value: 2)
  5. const_C : Sampling constant for {C_i} in Fiber CUR. (Default value: 4)
  • See paper for the details of constant selection.

Output Description

  1. Core : Core tensor, i.e., $\mathcal{R}$.
  2. X_sub_mat : Fiber CUR components, i.e., {$C_i U_i^\dagger$}.

To obtain the full estimated tensor, call

X_est = tensor(ttensor(Core,X_sub_mat));

Demo

Clone the codes and run test_tensor_CUR.m for a test demo.

About

Mode-wise Tensor Decompositions: Multi-dimensional Generalizations of CUR Decompositions

License:MIT License


Languages

Language:MATLAB 54.1%Language:HTML 45.0%Language:XSLT 0.7%Language:CSS 0.2%