https://github.com/zamorarr/tensorr
Sparse Tensors in R
https://github.com/zamorarr/tensorr
r rstats sparse sparse-tensors tensors
Last synced: about 1 month ago
JSON representation
Sparse Tensors in R
- Host: GitHub
- URL: https://github.com/zamorarr/tensorr
- Owner: zamorarr
- Created: 2017-02-04T19:39:56.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2019-03-09T14:05:59.000Z (about 7 years ago)
- Last Synced: 2024-03-17T19:03:35.649Z (about 2 years ago)
- Topics: r, rstats, sparse, sparse-tensors, tensors
- Language: R
- Homepage: https://zamorarr.github.io/tensorr/
- Size: 226 KB
- Stars: 11
- Watchers: 4
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.Rmd
Awesome Lists containing this project
README
---
output: github_document
---
```{r, echo = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "README-"
)
```
# tensorr: sparse tensors in R
[](https://cran.r-project.org/package=tensorr)
[](https://travis-ci.org/zamorarr/tensorr)
[](https://ci.appveyor.com/project/zamorarr/tensorr)
[](https://codecov.io/github/zamorarr/tensorr?branch=master)
`tensorr` provides methods to manipulate and store sparse tensors. Tensors are multi-dimensional generalizations of matrices (two dimensional) and vectors (one dimensional).
It has three main goals:
- Provide an efficient format to store sparse tensors in R.
- Provide standard tensor operations such as multiplication and unfolding.
- Provide standard tensor decomposition techniques such as CP and Tucker.
## Installation
The development version of **tensorr** is available on github.
```{r eval = FALSE}
devtools::install_github("zamorarr/tensorr")
```
## Usage
See the [introduction vignette](https://zamorarr.github.io/tensorr/articles/introduction.html)
for a comprehensive overview. To create a sparse tensor you have to provide the
non-zero values, subscripts to the non-zero values, and the overall dimensions
of the tensor.
```{r into-sparse, message = FALSE}
library(tensorr)
subs <- list(c(1,1,1), c(1,1,2))
vals <- c(10, 20)
dims <- c(2,2,2)
x <- sptensor(subs, vals, dims)
x
```
## Tensor References
Many of the dense and sparse implementation ideas were adpated from:
- B. W. Bader and T. G. Kolda. Algorithm 862: MATLAB tensor classes for fast algorithm prototyping, ACM Transactions on Mathematical Software 32(4):635-653, December 2006.
- B. W. Bader and T. G. Kolda. Efficient MATLAB computations with sparse and factored tensors, SIAM Journal on Scientific Computing 30(1):205-231, December 2007.
- [scikit-tensor](https://github.com/mnick/scikit-tensor)
For a review on tensors, see:
- T. G. Kolda and B. W. Bader, Tensor Decompositions and Applications, SIAM Review 51(3):455-500, September 2009