Skip to content

johanDDC/tucker_riemopt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tucker Riemopt

Python implementation of the Tucker toolbox. Package allows users to manipulate tensors in Tucker and SF-Tucker [1] formats. It also provides tools for implementing first-order optimization methods of the Riemannian optimization on the manifolds of tensors of fixed Tucker rank or fixed SF-Tucker rank. For instance, package implements a method for efficiently computing the Riemannian gradient of any smooth function via automatic differentiation.

The library is compatible with several computation frameworks, such as PyTorch and JAX, and can be easily integrated with other frameworks.

Installation

NumPy, SciPy and opt-einsum are required for installation. Additionally, you need to install your special computation framework: PyTorch or JAX.

Package may be installed using

pip install tucker_riemopt[torch/jax]

with corresponding computation framework.

Use cases

See the following repositories as a reference of the usage of the package:

Default computation framework is PyTorch. For using JAX you should

  1. Install JAX;
  2. Enable JAX backend using
from tucker_riemopt import set_backend
set_backend("jax")

Documentation

Detailed information may be found here.

Contribution policy

We warmly welcome contributions from all developers, provided that they are willing to adhere to the GitFlow workflow.

License

MIT License

About

Tucker toolbox for Riemannian optimization

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages