| Title: | CUR/CX Tensor Decomposition |
|---|---|
| Description: | CUR/CX decomposition factorizes a matrix into two factor matrices and Multidimensional CX Decomposition factorizes a tensor into a core tensor and some factor matrices. See the reference section of GitHub README.md <https://github.com/rikenbit/ccTensor>, for details of the methods. |
| Authors: | Koki Tsuyuzaki [aut, cre], Itoshi Nikaido [aut] |
| Maintainer: | Koki Tsuyuzaki <[email protected]> |
| License: | MIT + file LICENSE |
| Version: | 1.0.3 |
| Built: | 2026-05-07 06:19:02 UTC |
| Source: | https://github.com/rikenbit/cctensor |
CUR/CX decomposition factorizes a matrix into two factor matrices and Multidimensional CX Decomposition factorizes a tensor into a core tensor and some factor matrices. See the reference section of GitHub README.md <https://github.com/rikenbit/ccTensor>, for details of the methods.
The DESCRIPTION file:
| Package: | ccTensor |
| Type: | Package |
| Title: | CUR/CX Tensor Decomposition |
| Version: | 1.0.3 |
| Date: | 2025-08-25 |
| Authors@R: | c(person("Koki", "Tsuyuzaki", role = c("aut", "cre"), email = "[email protected]"), person("Itoshi", "Nikaido", role = "aut")) |
| Depends: | R (>= 4.1.0) |
| Imports: | methods, fields, MASS, igraph, rTensor |
| Suggests: | testthat, nnTensor |
| Description: | CUR/CX decomposition factorizes a matrix into two factor matrices and Multidimensional CX Decomposition factorizes a tensor into a core tensor and some factor matrices. See the reference section of GitHub README.md <https://github.com/rikenbit/ccTensor>, for details of the methods. |
| License: | MIT + file LICENSE |
| URL: | https://github.com/rikenbit/ccTensor |
| Config/pak/sysreqs: | libglpk-dev libxml2-dev |
| Repository: | https://rikenbit.r-universe.dev |
| Date/Publication: | 2025-08-25 10:48:16 UTC |
| RemoteUrl: | https://github.com/rikenbit/cctensor |
| RemoteRef: | HEAD |
| RemoteSha: | c68d3a6c38040bb971e2910c008d929ca78367db |
| Author: | Koki Tsuyuzaki [aut, cre], Itoshi Nikaido [aut] |
| Maintainer: | Koki Tsuyuzaki <[email protected]> |
Index of help topics:
ccTensor-package CUR/CX Tensor Decomposition CUR CUR Matrix Decomposition CX CX Matrix Decomposition MultiCX MultiCX Tensor Decomposition
Koki Tsuyuzaki [aut, cre], Itoshi Nikaido [aut]
Maintainer: Koki Tsuyuzaki <[email protected]>
Michael W. Mahoney, et. al., (2009). CUR matrix decompositions for improved data analysis. PNAS
Petros Drineas et.al., (2008). Relative-error CUR Matrix Decompositions. SIAM J. Matrix Anal. Appl.
Maria F. K. B. et. al. (2019). Multidimensional CX Decomposition of Tensors. WCNPS
ls("package:ccTensor")ls("package:ccTensor")
The input data is assumed to be a matrix. CUR decomposes the matrix to three low-dimensional factor matices. C and R are not estimated values but the actual column and row vectors sampled from the matrix.
CUR(A, c.rank=NULL, r.rank=NULL, thr=0.9, c.method=c("best.match", "random", "exact.num.random", "top.scores"), u.method=c("invCR", "invW"), r.method=c("best.match", "random", "exact.num.random", "top.scores"))CUR(A, c.rank=NULL, r.rank=NULL, thr=0.9, c.method=c("best.match", "random", "exact.num.random", "top.scores"), u.method=c("invCR", "invW"), r.method=c("best.match", "random", "exact.num.random", "top.scores"))
A |
The input matrix which has N-rows and M-columns. |
c.rank |
The number of low-dimension of C (J1 < {N,M}). If this argument is not specified or specified as NULL, the low-dimension is estimated based on the cumulative singular value (Default: NULL). |
r.rank |
The number of low-dimension of R (J2 < {N,M}). If this argument is not specified or specified as NULL, the low-dimension is estimated based on the cumulative singular value (Default: NULL). |
thr |
The threshold to determine the low-dimension J1 and J2. The value must be range 0 to 1 (Default: 0.9). |
c.method |
The column sampling algorithm (Default: best.match). |
u.method |
The algorithm to calculate U (Default: invCR). |
r.method |
The row sampling algorithm (Default: best.match). |
C: A N-rows and J1-columns matrix contains the sampled column vectors from the input matrix A. U: A J1-rows and J2-columns matrix. R: A J2-rows and M-columns matrix contains the sampled row vectors from the input matrix A. indC: The sampled column indices. indC: The sampled row indices. RecError : The reconstruction error between data matrix and reconstructed matrix from C and X.
Koki Tsuyuzaki
Michael W. Mahoney, et. al., (2009). CUR matrix decompositions for improved data analysis. PNAS
library("ccTensor") library("nnTensor") # Test data matdata <- nnTensor::toyModel(model = "NMF") # Simple usage out <- CUR(matdata, c.rank=3, r.rank=4)library("ccTensor") library("nnTensor") # Test data matdata <- nnTensor::toyModel(model = "NMF") # Simple usage out <- CUR(matdata, c.rank=3, r.rank=4)
The input data is assumed to be a matrix. CX decomposes the matrix to two low-dimensional factor matices. C is not an estimated values but the actual column vectors sampled from the matrix.
CX(A, rank=NULL, thr=0.9, c.method=c("best.match", "random", "exact.num.random", "top.scores"))CX(A, rank=NULL, thr=0.9, c.method=c("best.match", "random", "exact.num.random", "top.scores"))
A |
The input matrix which has N-rows and M-columns. |
rank |
The number of low-dimension (J < {N,M}). If this argument is not specified or specified as NULL, the low-dimension is estimated based on the cumulative singular value (Default: NULL). |
thr |
The threshold to determine the low-dimension J. The value must be range 0 to 1 (Default: 0.9). |
c.method |
The column sampling algorithm (Default: best.match). |
C: A N-rows and J-columns matrix contains the sampled column vectors from the input matrix A. X: A J-rows and M-columns matrix. indC: The sampled column indices. RecError : The reconstruction error between data matrix and reconstructed matrix from C and X.
Koki Tsuyuzaki
Petros Drineas et.al., (2008). Relative-error CUR Matrix Decompositions. SIAM J. Matrix Anal. Appl.
library("ccTensor") library("nnTensor") # Test data matdata <- nnTensor::toyModel(model = "NMF") # Simple usage out <- CX(matdata, rank=5)library("ccTensor") library("nnTensor") # Test data matdata <- nnTensor::toyModel(model = "NMF") # Simple usage out <- CX(matdata, rank=5)
The input data is assumed to be a tensor. MultiCX decomposes the tensor into a core tensor and some factor matrices. The factor matrices are not estimated values but the actual column vectors sampled from the unfolded matrix in each mode.
MultiCX(Y, rank=NULL, modes=1:3, thr=0.9, c.method=c("best.match", "random", "exact.num.random", "top.scores"))MultiCX(Y, rank=NULL, modes=1:3, thr=0.9, c.method=c("best.match", "random", "exact.num.random", "top.scores"))
Y |
The input tensor (e.g. N times M times L). |
rank |
The number of low-dimension of factor matrices (e.g. J1, J2, and J3). If this argument is not specified or specified as NULL, the low-dimension is estimated based on the cumulative singular value (Default: NULL). |
modes |
The vector of the modes on whih to perform the decomposition (Default: 1:3 <all modes>). |
thr |
The threshold to determine the low-dimension of factor matrices. The value must be range 0 to 1 (Default: 0.9). |
c.method |
The column sampling algorithm (Default: best.match). |
U: Core tensor (e.g. J1 times J2 times J3). C: Factor matrices (e.g. C_1: ????????) RecError : The reconstruction error between data tensor and reconstructed tensor from C and X.
Koki Tsuyuzaki
Maria F. K. B. et. al. (2019). Multidimensional CX Decomposition of Tensors. WCNPS
library("ccTensor") library("nnTensor") # Test data tensdata <- nnTensor::toyModel(model = "CP") # Simple usage out <- MultiCX(tensdata, rank=c(3,4,5))library("ccTensor") library("nnTensor") # Test data tensdata <- nnTensor::toyModel(model = "CP") # Simple usage out <- MultiCX(tensdata, rank=c(3,4,5))