Skip to content

Commit

Permalink
Update README
Browse files Browse the repository at this point in the history
  • Loading branch information
oseledets committed Mar 12, 2017
1 parent 53b496e commit 0aa81e6
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 56 deletions.
75 changes: 25 additions & 50 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,75 +11,50 @@ in Python. It is able to do TT-interpolation, solve linear systems, eigenproblem
Several computational routines are done in Fortran (which can be used separatedly), and are wrapped with the f2py tool.
Installation
============
##Prerequisites

**It is recommended** that you use [Anaconda Python distribution](https://store.continuum.io/cshop/anaconda/)
which has MKL library built-in. Anaconda Python is used for the development of ttpy.

##From a binstar repository
If you use 64 bit linux, you can install the module from the binstar repository:
## Pip install
Install dependencies (numpy and cython)
```
conda install numpy cython
```
sudo apt-get install libgfortran3
conda install -c https://conda.binstar.org/bihaqo ttpy
Install ttpy
```
##Downloading the code
This installation works with git submodules, so you should be sure, that you got them all right.
The best way is to work with this repository is to use git with a version >= 1.6.5.
Then, to clone the repository, you can simply run
pip install ttpy
```
git clone --recursive git://github.com/oseledets/ttpy.git

##Installing from source code

To install the development version, you need to install from the source.
First, clone the repository with all submodules:
```
To update to the latest version, run
git clone --recursive git://github.com/oseledets/ttpy.git
```
git pull
git submodule update --init --recursive *
```
This command will update the submodules as well.
##Prerequisites

**It is highly recommended** that you use either

- [Anaconda Python distribution](https://store.continuum.io/cshop/anaconda/)
which has MKL in built in for the [academics](https://store.continuum.io/cshop/academicanaconda)
Anaconda Python is the version for which the development of ttpy is done

- [Enthought Python distribution](https://www.enthought.com/products/epd/) -- should work as well with
the non-free version, but not tested



##Installing the package
The installation of the package is done via **setup.py** scripts.

The installation script is a very newbie one, but it seems to work.
python setup.py install
```
python setup.py install
To update to the latest version (with all submodules) run
```
git pull
git submodule update --init --recursive *
```

## BLAS

Almost all of the packages depend on the BLAS/LAPACK libraries, but the code
is **not explicitly linked** against them, so if you do not have the BLAS/LAPACK
in the global namespace of your Python interpreter, you will encounter "undefined symbols"
error during the import of the **tt** package. If you have Anaconda or EPD with MKL installed, it should
work ``as it is''. The [initialization file of **ttpy**](/tt/__init__.py) tries to dynamically load runtime MKL or lapack libraries
(should work on Linux if those libraries are in LD_LIBRARY_PATH).

What those packages do
======================

They have the following functionality

- **tt** : The main package, with tt.vector and tt.matrix classes, basic arithmetic,
- `tt` : The main package, with tt.vector and tt.matrix classes, basic arithmetic,
norms, scalar products, rounding full -> tt and tt -> full conversion routines, and many others

- **tt.amen** : AMEN solver for linear systems (Python wrapper for Fortran code written by S. V. Dolgov and D. V. Savostyanov)
- `tt.amen` : AMEN solver for linear systems (Python wrapper for Fortran code written by S. V. Dolgov and D. V. Savostyanov)
it can be also used for fast matrix-by-vector products.

- **tt.eigb** : Block eigenvalue solver in the TT-format
(subroutine **tt.eigb.eigb**)

- **tt.ksl** : Solution of the linear dynamic problems in the TT-format, using the projector-splitting
- `tt.eigb` : Block eigenvalue solver in the TT-format
- `tt.ksl` : Solution of the linear dynamic problems in the TT-format, using the projector-splitting
KSL scheme. A Python wrapper for a Fortran code (I. V. Oseledets)

- **tt.cross** : Has a working implementation of the black-box cross method. For now, please use the rect_cross function.
- `tt.cross` : Has a working implementation of the black-box cross method.


Documentation and examples
Expand Down
15 changes: 9 additions & 6 deletions conda-recipe/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,13 @@ package:
version: "1.0"

source:
fn: ttpy-1.0.tar
url: https://dl.dropboxusercontent.com/u/49234889/ttpy-1.0.tar
md5: ff081595d853c4c563dba96aa9180f1c
# patches:
# fn: ttpy-1.0.tar
#url: https://dl.dropboxusercontent.com/u/49234889/ttpy-1.0.tar
#md5: ff081595d853c4c563dba96aa9180f1c
source:
git_url: git://github.com/oseledets/ttpy
git_branch: master
# patches:
# List any patch files here
# - fix.patch

Expand All @@ -33,13 +36,13 @@ requirements:
- setuptools
- numpy
- cython
- accelerate
# - accelerate

run:
- python
- numpy
- cython
- accelerate
# - accelerate

test:
# Python imports
Expand Down
1 change: 1 addition & 0 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ def setup_package():
download_url='https://github.com/oseledets/ttpy/tarball/v' + VERSION,
author='Ivan Oseledets',
maintainer='Ivan Oseledets',
author_email='[email protected]',
platforms=PLATFORMS,
classifiers=[line for line in CLASSIFIERS.split('\n') if line],
configuration=configuration,
Expand Down

0 comments on commit 0aa81e6

Please sign in to comment.