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/251Bug with fenics and mkl2019-04-10T15:29:08+02:00Philipp TrunschkeBug with fenics and mkl```
OS: openSUSE Leap 42.3
MKL Info:
Major version: 2019
Minor version: 0
Update version: 1
Product status: Product
Build: 20180928
Platform: Intel(R) 64 architectur...```
OS: openSUSE Leap 42.3
MKL Info:
Major version: 2019
Minor version: 0
Update version: 1
Product status: Product
Build: 20180928
Platform: Intel(R) 64 architecture
Processor optimization: Intel(R) Advanced Vector Extensions (Intel(R) AVX) enabled processors
================================================================
```
[Working example is attached.](/uploads/657409540901107570a60a2d1a340483/xerus___dolfin___libmkl___buggy.py)Version 4.0https://git.hemio.de/xerus/xerus/-/issues/243The runtime of unittests2019-04-05T01:21:15+02:00Sebastian WolfThe runtime of unittestsAs there were some complains about the runtime of the unit-tests by @example, we should probably discuss how to deal with those.
Personally I am fine with a runtime of ~5min, but this of course depends on hardware and style of working....As there were some complains about the runtime of the unit-tests by @example, we should probably discuss how to deal with those.
Personally I am fine with a runtime of ~5min, but this of course depends on hardware and style of working. Also using e.g. Valgrind increase the runtime to currently ~30min. Still I don't think we should remove working test-cases on which people spend time to implement just because they take time to run. So I would suggest to split the unit-tests in a "quick" and a "long" category such that people without time and/or without fast hardware can run a reduced subset of the tests (e.g. all unit test which typically require less than 0.5s)?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 Wolfhttps://git.hemio.de/xerus/xerus/-/issues/241indentation cleanup2019-03-24T04:17:06+01:00Fuchsi*indentation cleanupwe had consistently used tabs instead of spaces for indentation. It seems, that everyone using spaces wants them to act as tabs anyways and sets up the IDE to treat them as such. (eg. you never want to indent 3 instead of 4 spaces, so pr...we had consistently used tabs instead of spaces for indentation. It seems, that everyone using spaces wants them to act as tabs anyways and sets up the IDE to treat them as such. (eg. you never want to indent 3 instead of 4 spaces, so pressing backspace once you expect to remove all 4 spaces)
It seems this was (deliberately...) destroyed by commits like 1ce2f25a . I vote towards reverting this (and similar) commits.
If there is a good argument for spaces over tabs we can also have a vote over what should be used or similar, but i think we should have a uniform style in the code.
@trunschk @Baum @RoteKekseVersion 4.0https://git.hemio.de/xerus/xerus/-/issues/244dropping support for GCC 4.8 and below2019-03-23T18:25:11+01:00Fuchsi*dropping support for GCC 4.8 and belowanother point of discussion:
- with commit 8d55ef3e I broke compatibility with GCC 4.8.1 and below (which will once again show an internal segfault during compilation) for better readability esp. of typedefs for function pointers. (this ...another point of discussion:
- with commit 8d55ef3e I broke compatibility with GCC 4.8.1 and below (which will once again show an internal segfault during compilation) for better readability esp. of typedefs for function pointers. (this could be circumvented by reverting the two using declarations inside the Tensor class)
- the warnings about deprecated function will only work with GCC >= 4.9
- GCC 4.9 was released 5 years ago next month. even debian oldstable uses it as the default - so the need to support even older compilers seems to be rather low imho.Version 4.0https://git.hemio.de/xerus/xerus/-/issues/239Changelog update2019-03-20T12:24:01+01:00RoteKekseChangelog updateVersion 4.0https://git.hemio.de/xerus/xerus/-/issues/233UQADF Documentation2019-03-20T11:44:37+01:00RoteKekseUQADF DocumentationVersion 4.0Philipp TrunschkePhilipp Trunschkehttps://git.hemio.de/xerus/xerus/-/issues/190pydoc strings2019-03-12T16:25:44+01:00Fuchsi*pydoc stringsVersion Xhttps://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/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/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/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/172Add TT-Cross Approximation2019-03-04T12:39:27+01:00Sebastian WolfAdd TT-Cross ApproximationVersion XPhilipp 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/48doxygen modern layout2018-04-23T03:03:35+02:00Fuchsi*doxygen modern layoutVersion XFuchsi*Fuchsi*https://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/38flop counts of all operations to better be able to compare algorithms2018-04-01T13:07:03+02:00Fuchsi*flop counts of all operations to better be able to compare algorithmsruntimes are ok, but heavily dependent on optimization efforts. FLOP counts are much more robust across architectures and independent of the writing effort put into the algorithms.runtimes are ok, but heavily dependent on optimization efforts. FLOP counts are much more robust across architectures and independent of the writing effort put into the algorithms.Version 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 X