Commit 82dbb250 authored by Philipp  Trunschke's avatar Philipp Trunschke
Browse files

add conda recipe for SALSA branch

parent 584e371c
Pipeline #2165 failed with stages
in 6 minutes and 14 seconds
# About #
About
=====
The `xerus` library is a general purpose library for numerical calculations with higher order tensors, Tensor-Train Decompositions / Matrix Product States and other Tensor Networks.
The focus of development was the simple usability and adaptibility to any setting that requires higher order tensors or decompositions thereof.
......@@ -8,7 +9,8 @@ For tutorials and a documentation see <a href="http://libxerus.org">the document
The source code is licenced under the AGPL v3.0. For more details see the LICENSE file.
# Features #
Features
========
+ Intuitive notation for expressions involving tensors of arbitrary degree: `A(i,j) = B(i,k,l) * C(k,j,l)`;
+ Lazy evaluation of tensor expressions with automatically optimized contraction orders.
......@@ -16,11 +18,14 @@ The source code is licenced under the AGPL v3.0. For more details see the LICENS
+ Implementations of common algorithms like the ALS, (multi-site-)DMRG, ASD, AFD, CG, and some less common ones e.g. to find the maximal entries in a Tensor Train.
# Building the Xerus library #
Building the Xerus library
==========================
Building from source
--------------------
Copy the default configuration and modify it for your needs
> cp config.mk.default config.mk
> nano config.mk
Test whether everything works correctly with
......@@ -37,8 +42,18 @@ To install the python bindings run
For more details see <a href="https://www.libxerus.org/building_xerus/">the "Building Xerus" page in the documentation</a>.
Building a conda package
------------------------
Modify `conda/meta.yaml`, `build.sh` and `run_test.sh` as needed and build the conda package.
For example, to create a conda package of the `SALSA` branch of `xerus` run the following commands.
> cd conda
> conda-build . -c conda-forge --python=3.7 --numpy=1.20
> conda install --use-local xerus_salsa
# Issues #
Issues
======
Should you have any problems with the library do not hesitate to contact us at contact[at]libxerus.org or describe your problem in the issuetracker.
......@@ -31,14 +31,7 @@ ln -s ${PREFIX}/include/ ${PREFIX}/include/suitesparse
make python
${PYTHON} -m pip install . --no-deps -vv
# INCLUDE_PATH="${PREFIX}/include"
# mkdir -p ${INCLUDE_PATH}
# cp include/xerus.h ${INCLUDE_PATH}
# cp -r include/xerus ${INCLUDE_PATH}
# LIBRARY_PATH="${PREFIX}/lib"
# mkdir -p ${LIBRARY_PATH}
# cp build/libxerus.so ${LIBRARY_PATH}
# cp build/libxerus_misc.so ${LIBRARY_PATH}
rm config.mk
# cp include/xerus.h ${PREFIX}/include/
# cp -r include/xerus ${PREFIX}/include/
# cp build/libxerus.so ${PREFIX}/lib/
# cp build/libxerus_misc.so ${PREFIX}/lib/
{% set name = "Xerus" %}
{% set version = "4.0.1" %}
{% set branch = "v4.0.1_conda" %}
{% set branch = "SALSA" %}
package:
name: {{ name|lower }}
name: {{ name|lower + '_' + branch|lower }}
version: {{ version }}
source:
......@@ -19,29 +19,36 @@ requirements:
build:
- {{ compiler('cxx') }}
- make
- {{ pin_compatible('python', max_pin='x.x') }}
- pip >=18.1
host:
- python
- numpy
- openblas
- suitesparse
- lapack
- boost-cpp >=1.69.0 # boost-cpp: boost without python
- llvm-openmp # [osx]
- libgomp # [linux]
#- gdb # bfd
#- backward-cpp # option for better python-like backtraces
run:
- {{ pin_compatible('python', max_pin='x.x') }}
- {{ pin_compatible('numpy') }}
- {{ pin_compatible('openblas', max_pin='x.x') }}
- {{ pin_compatible('suitesparse', max_pin='x.x') }}
- {{ pin_compatible('lapack') }}
- {{ pin_compatible('liblapacke') }}
- {{ pin_compatible('boost-cpp', max_pin='x.x.x') }}
- {{ pin_compatible('llvm-openmp') }} # [osx]
- {{ pin_compatible('libgomp') }} # [linux]
run:
- python
- numpy
- openblas
- suitesparse
- lapack
- liblapacke
# - boost-cpp >=1.69.0 # boost-cpp: boost without python
- boost-cpp # boost-cpp: boost without python
- llvm-openmp # [osx]
- libgomp # [linux]
# #- gdb # bfd
# #- backward-cpp # option for better python-like backtraces
# run:
test:
# requires:
# - pytest # pytest xerus/src/pyTests
files:
- VERSION
source_files:
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment