From 0aa81e61379a7c3e3c53570a93b633407f54fc90 Mon Sep 17 00:00:00 2001 From: Ivan Oseledets Date: Sun, 12 Mar 2017 13:29:45 +0300 Subject: [PATCH] Update README --- README.md | 75 ++++++++++++++---------------------------- conda-recipe/meta.yaml | 15 +++++---- setup.py | 1 + 3 files changed, 35 insertions(+), 56 deletions(-) diff --git a/README.md b/README.md index e4a99a3..b344a55 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/conda-recipe/meta.yaml b/conda-recipe/meta.yaml index 4acf39b..3a3f903 100644 --- a/conda-recipe/meta.yaml +++ b/conda-recipe/meta.yaml @@ -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 @@ -33,13 +36,13 @@ requirements: - setuptools - numpy - cython - - accelerate + # - accelerate run: - python - numpy - cython - - accelerate + # - accelerate test: # Python imports diff --git a/setup.py b/setup.py index 1c6c861..450bdf9 100644 --- a/setup.py +++ b/setup.py @@ -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='ivan.oseledets@gmail.com', platforms=PLATFORMS, classifiers=[line for line in CLASSIFIERS.split('\n') if line], configuration=configuration,