xerus issueshttps://git.hemio.de/xerus/xerus/-/issues2019-04-12T11:15:37+02:00https://git.hemio.de/xerus/xerus/-/issues/229Add Arpack Installation Description2019-04-12T11:15:37+02:00RoteKekseAdd Arpack Installation Description```
./configure --prefix=<installation-path> F77=gfortran --enable-icb
``````
./configure --prefix=<installation-path> F77=gfortran --enable-icb
```Version 4.0RoteKekseRoteKeksehttps://git.hemio.de/xerus/xerus/-/issues/228Tidy up UQ ADF2019-06-16T20:37:18+02:00Sebastian WolfTidy up UQ ADFIt looks like there is quite a bit of redundancy in the functions offered for UQ. In particular, I don't think the UQMeasurementset is currently very useful. Either we should extend it and offer it for all algorithms, or get rid of it an...It looks like there is quite a bit of redundancy in the functions offered for UQ. In particular, I don't think the UQMeasurementset is currently very useful. Either we should extend it and offer it for all algorithms, or get rid of it and always use separate vectors of parameters/positions and solutions (or a `std::pair` thereof).
However, since I am not the one currently using this algorithm (and don't know what all the new functions do) I don't want to change it more than I already did. @trunschk can you have a look at it?
**Update:**
- [ ] replace `UQMeasurementset` by the two vectors of rank-1 measurements and their corresponding values
- [ ] add convenience functions that evaluate a given basis at given points and return the two vectors of rank-1 measurements and values
- [ ] remove the `dimensions` argument from `uq_ra_adf`
- [ ] define `uq_ra_adf_iv` as overloaded version of `uq_ra_adf`
- [ ] clean up the interface for `uq_ra_adf`Version 4.0Philipp TrunschkePhilipp Trunschkehttps://git.hemio.de/xerus/xerus/-/issues/223Release Version 4.0.02019-06-21T15:10:28+02:00Fuchsi*Release Version 4.0.0**Blocked by issues:**
- #225
- #222
- #221
- #220
- #219
- #215
- #212
- #11
**On the day of release:**
- [x] remove deprecated branches in repository
- [ ] ensure Changelog is up to date
- [ ] update VERSION file
- [ ] create...**Blocked by issues:**
- #225
- #222
- #221
- #220
- #219
- #215
- #212
- #11
**On the day of release:**
- [x] remove deprecated branches in repository
- [ ] ensure Changelog is up to date
- [ ] update VERSION file
- [ ] create release commit and tag it (update its description in gitlab!)Version 4.0https://git.hemio.de/xerus/xerus/-/issues/218Promote Docker2019-06-19T09:34:52+02:00RoteKeksePromote DockerVersion 4.1Philipp TrunschkePhilipp Trunschkehttps://git.hemio.de/xerus/xerus/-/issues/216Add convenience functions for modifying the TensorNetwork graph.2019-02-15T11:43:30+01:00Philipp TrunschkeAdd convenience functions for modifying the TensorNetwork graph.There are some operations on `TensorNetworks` that are not as simple as they should be.
As an example I think that a `TensorNetworks` should have the functions
- `TensorNetwork::remove_node(const size_t _nodeId)` : removes the node from ...There are some operations on `TensorNetworks` that are not as simple as they should be.
As an example I think that a `TensorNetworks` should have the functions
- `TensorNetwork::remove_node(const size_t _nodeId)` : removes the node from the TensorNetwork and inserts the newly created external links at the end of `externalLinks` (in the order they had on the node tensor)
- `TensorNetwork::remove_link(const size_t _nodeId1, const size_t _nodeId2)` : removes the link between the given nodes and inserts the newly created external links at the end of `externalLinks`
The first function is useful when computing the gradient of a `TensorNetwork` w.r.t. the given node.
The second one will probably be used mainly as a subroutine of the first one.
Related tasks like `add_node` can be done using Einstein notation. Maybe we can find something similar for these tasks.https://git.hemio.de/xerus/xerus/-/issues/205compilation errors on MacOS2018-05-12T09:56:25+02:00Fuchsi*compilation errors on MacOSfrom a mail sent to us:
````
I encounter a problem when trying to install Xerus on my macbook with clang++. When I typed ‘make install -j4’, I got the error message as in the attached screenshot.
I have installed all the libraries as s...from a mail sent to us:
````
I encounter a problem when trying to install Xerus on my macbook with clang++. When I typed ‘make install -j4’, I got the error message as in the attached screenshot.
I have installed all the libraries as stated in Xerus’ documentation. Is there something else that I missed? I hope you would help me with resolving this issue. Also attached is the config file that I used.
In addition, some info about my macbook:
- macOS High Sierra
- Apple LLVM version 9.0.0 (clang-900.0.38)
Thank you very much for your time!
````
In the attached screenshot there is an error in simplenumerics.cpp line 64: an ambiguous call to misc::pow.https://git.hemio.de/xerus/xerus/-/issues/194improve speed of Ax=b solve operations for matrices2017-05-09T16:42:09+02:00Fuchsi*improve speed of Ax=b solve operations for matricesperform checks similar to matlab: https://de.mathworks.com/help/matlab/ref/mldivide.html
for dense matrices:
- [X] not square operator -> use QR or SVD
- [ ] implement check & solver for permuted triangular matrices
- [x] not Hermi...perform checks similar to matlab: https://de.mathworks.com/help/matlab/ref/mldivide.html
for dense matrices:
- [X] not square operator -> use QR or SVD
- [ ] implement check & solver for permuted triangular matrices
- [x] not Hermitian -> LU solver
- [x] all positive / all negative diagonal -> try cholesky
- [X] default to LDL solver otherwise
for sparse:
- [ ] check for diagonality -> scale input
- [ ] check bandwidth < threshold -> banded solver
- [ ] implement check & solver for permuted triangular matrices
- [ ] not Hermitian -> LU solver
- [ ] all positive / all negative diagonal -> try cholesky
- [X] default to LDL solver otherwiseVersion Xhttps://git.hemio.de/xerus/xerus/-/issues/193Tutorials2019-06-17T14:23:06+02:00Fuchsi*Tutorials- [x] basic layout of the library and nomenclature
- [X] how to build xerus
- [X] quick-start
- basic usage tutorials
- [x] tensors (creation, modification etc.)
- [x] indices and equations
- [x] solve and decompositions
-...- [x] basic layout of the library and nomenclature
- [X] how to build xerus
- [X] quick-start
- basic usage tutorials
- [x] tensors (creation, modification etc.)
- [x] indices and equations
- [x] solve and decompositions
- [ ] TTTensors
- [ ] ALS and PerformanceData
- [ ] IHT and ADF
- [ ] TensorNetworks and arbitrary contractions
- [ ] TTTangentVectors and riemannian algorithms
- advanced tutorials
- [x] optimizing your program
- [X] debugging with xerus
- examples
- [x] quickstart
- [x] als
- [x] cascade
- [ ] some tensor completion (ie to integrate a low-rank approximable function)
- [ ] geodesics? (or something else with riemannian tangent vectors)Version 4.0RoteKekseRoteKeksehttps://git.hemio.de/xerus/xerus/-/issues/190pydoc strings2019-03-12T16:25:44+01:00Fuchsi*pydoc stringsVersion Xhttps://git.hemio.de/xerus/xerus/-/issues/186tests for python-interface2019-06-13T12:57:05+02:00Fuchsi*tests for python-interfaceTo ensure that the python wrapper works as intended we should write a number of unittests in python. As any of these tests also test the library itself it might be worthwhile to replace a larger portion of the unittests with a python var...To ensure that the python wrapper works as intended we should write a number of unittests in python. As any of these tests also test the library itself it might be worthwhile to replace a larger portion of the unittests with a python variant.
One aspect should be a comparison to numpy-results.
Current errors in the pybind11-bindings:
- [x] `xe.Tensor(xe.TTTensor([2]))` raises `ValueError`
- [x] segfault in `test_pickle.py` with python2-bindingsVersion 4.0https://git.hemio.de/xerus/xerus/-/issues/172Add TT-Cross Approximation2019-03-04T12:39:27+01:00Sebastian WolfAdd TT-Cross ApproximationVersion XPhilipp TrunschkePhilipp Trunschkehttps://git.hemio.de/xerus/xerus/-/issues/130more example systems2019-03-04T13:56:09+01:00Fuchsi*more example systemsWhen writing example systems, consider adding them to the library and / or homepage as examples.
possible examples include:
- Hennon-Heiles potential in schredinger eq
- masters equation
- some tensor completion / recovery
- standard ha...When writing example systems, consider adding them to the library and / or homepage as examples.
possible examples include:
- Hennon-Heiles potential in schredinger eq
- masters equation
- some tensor completion / recovery
- standard hamiltonians (spin systems)
- simple fem system (diffusion?) with qtt
- uq systemVersion Xhttps://git.hemio.de/xerus/xerus/-/issues/118new contraction heuristics2017-07-13T16:42:00+02:00Fuchsi*new contraction heuristics- [ ] implement brute force search for small number of nodes
- [ ] write more elaborate heuristics
- [ ] statistics about which heuristics were the best how often- [ ] implement brute force search for small number of nodes
- [ ] write more elaborate heuristics
- [ ] statistics about which heuristics were the best how oftenVersion Xhttps://git.hemio.de/xerus/xerus/-/issues/79Allow transformations between arbitary TensorNetworks without casting to Full...2019-03-04T14:30:32+01:00Sebastian WolfAllow transformations between arbitary TensorNetworks without casting to FullTensor.Version Xhttps://git.hemio.de/xerus/xerus/-/issues/69SparseTensor aware contraction heuristics2019-03-04T14:31:16+01:00Sebastian WolfSparseTensor aware contraction heuristicsThe complexity of sparse contractions is significantly different to the dense one and therefore requires new heuristics to detemrine the contraction order.The complexity of sparse contractions is significantly different to the dense one and therefore requires new heuristics to detemrine the contraction order.Version Xhttps://git.hemio.de/xerus/xerus/-/issues/55get rid of lapacke dependency2020-04-29T21:00:47+02:00Fuchsi*get rid of lapacke dependencyThe lapacke dependency is annoying (cannot be assumed to be installed), we only need few functions of it and those can easily be written manually.
- [ ] import lapacke source to 3rdParty folder
- [ ] unify functions to get rid of unnece...The lapacke dependency is annoying (cannot be assumed to be installed), we only need few functions of it and those can easily be written manually.
- [ ] import lapacke source to 3rdParty folder
- [ ] unify functions to get rid of unnecessary transpositions
- [ ] allocate a thread_local work array to get rid of allocations per call
- [ ] use performance analysis (from makefile) to benchmarkVersion XPhilipp TrunschkePhilipp Trunschkehttps://git.hemio.de/xerus/xerus/-/issues/50Kill all the TODOs in the sources2018-04-23T03:03:35+02:00Sebastian WolfKill all the TODOs in the sourcesHeroicshttps://git.hemio.de/xerus/xerus/-/issues/48doxygen modern layout2018-04-23T03:03:35+02:00Fuchsi*doxygen modern layoutVersion XFuchsi*Fuchsi*https://git.hemio.de/xerus/xerus/-/issues/42templatized value_t to allow calculations with complex numbers2019-03-04T14:54:41+01:00Fuchsi*templatized value_t to allow calculations with complex numbersThis would also simplify issue #39 and is required for most quantum calculations.
- [ ] overloaded wrapper functions for lapacke, blas and suitesparse
- [ ] prob. two template types: value_t and real_t (return value of forb_norm eg. sho...This would also simplify issue #39 and is required for most quantum calculations.
- [ ] overloaded wrapper functions for lapacke, blas and suitesparse
- [ ] prob. two template types: value_t and real_t (return value of forb_norm eg. should not be complex)
- [ ] optionally interaction between different templatized versions (eg. Tensor<double> with Tensor<float>?)Version Xhttps://git.hemio.de/xerus/xerus/-/issues/40coding conventions & instructions on how to create a pull request2019-04-01T02:36:43+02:00Fuchsi*coding conventions & instructions on how to create a pull requestto allow others to contribute we should explain our coding standards, eg:
naming schemes arguments with _, function_names, variableNames, Classes, etc.etc.to allow others to contribute we should explain our coding standards, eg:
naming schemes arguments with _, function_names, variableNames, Classes, etc.etc.Version 4.0Sebastian WolfSebastian Wolf