xerus issueshttps://git.hemio.de/xerus/xerus/-/issues2019-04-03T18:52:49+02:00https://git.hemio.de/xerus/xerus/-/issues/89Use some kind of auto-tools, bjam,... to automatically find and include the n...2019-04-03T18:52:49+02:00Sebastian WolfUse some kind of auto-tools, bjam,... to automatically find and include the needed libraries and header files.https://git.hemio.de/xerus/xerus/-/issues/84Building and using the static library with LTO and clang++ fails2019-04-03T18:52:42+02:00Sebastian WolfBuilding and using the static library with LTO and clang++ failsThe gcc wrapper used to create LTO enabled static libraries don't seem to work with clang++.The gcc wrapper used to create LTO enabled static libraries don't seem to work with clang++.https://git.hemio.de/xerus/xerus/-/issues/81Include version history automatically in doxygen documentation2019-04-03T18:52:37+02:00Sebastian WolfInclude version history automatically in doxygen documentationhttps://git.hemio.de/xerus/xerus/-/issues/74Enable xerus to work with arbitary sized tensors2019-04-03T18:52:30+02:00Sebastian WolfEnable xerus to work with arbitary sized tensorsUsing a size_t for the tensor size limits the theoretical possible size of a Tensor (even a TTTensor) to dimension 2^64-1. Especially for very sparse of very low rank tensors it is desirable to allow an arbitrary dimension.Using a size_t for the tensor size limits the theoretical possible size of a Tensor (even a TTTensor) to dimension 2^64-1. Especially for very sparse of very low rank tensors it is desirable to allow an arbitrary dimension.https://git.hemio.de/xerus/xerus/-/issues/37block-dmrg to solve eigenvalue problems2019-04-03T18:52:21+02:00Fuchsi*block-dmrg to solve eigenvalue problemssingle and multi-sitesingle and multi-sitehttps://git.hemio.de/xerus/xerus/-/issues/36AMEN algorithm and other ALS + gradientstep schemes2019-04-03T18:52:16+02:00Fuchsi*AMEN algorithm and other ALS + gradientstep schemeshttps://git.hemio.de/xerus/xerus/-/issues/15Upgrade the UnitTests to support unit test rules for different types, e.g. Fu...2019-04-03T18:52:12+02:00Sebastian WolfUpgrade the UnitTests to support unit test rules for different types, e.g. FullTensor and SparseTensorhttps://git.hemio.de/xerus/xerus/-/issues/202failing tests in gitlab pipeline2019-04-03T18:51:52+02:00Fuchsi*failing tests in gitlab pipelinesome of them are very strange. e.g. the following one should never fail
```
| Product_1000x1000 starting: ✗ +00:01:39,286 fullTensor_product.cxx: 409 : warning : memcmp(res.get_dense_data(), C.get_dense_data(), sizeof(value_t)*1000*...some of them are very strange. e.g. the following one should never fail
```
| Product_1000x1000 starting: ✗ +00:01:39,286 fullTensor_product.cxx: 409 : warning : memcmp(res.get_dense_data(), C.get_dense_data(), sizeof(value_t)*1000*1000)==0 failed
✓ ✓
| Product_1000x1000: FAILED! (535.353 ms, seed = baadf00d)
```
(see https://git.hemio.de/xerus/xerus/-/jobs/2291 )https://git.hemio.de/xerus/xerus/-/issues/200TTNetwork should _have_ a TensorNetwork and not _be_ one2019-04-03T18:51:38+02:00Fuchsi*TTNetwork should _have_ a TensorNetwork and not _be_ oneAs we don't really want to expose the TN functionality (that will only break the constraints of the TT classes) unless the object is cast to TensorNetwork... Defining a cast operator to TN should still allow to use it in indexed equation...As we don't really want to expose the TN functionality (that will only break the constraints of the TT classes) unless the object is cast to TensorNetwork... Defining a cast operator to TN should still allow to use it in indexed equations etc. just like we can to right now.https://git.hemio.de/xerus/xerus/-/issues/173automatic comparison to numpy results2019-04-03T18:51:07+02:00Fuchsi*automatic comparison to numpy resultsrandomly create equations in einstein summation for xerus and numpy.
blocked by #92 randomly create equations in einstein summation for xerus and numpy.
blocked by #92 https://git.hemio.de/xerus/xerus/-/issues/166stringstream.clear in log buffer problematic?2019-04-03T18:51:01+02:00Fuchsi*stringstream.clear in log buffer problematic?does .clear() empty the memory? needs testing (maybe revert back to pointers?)does .clear() empty the memory? needs testing (maybe revert back to pointers?)https://git.hemio.de/xerus/xerus/-/issues/122GMRES2019-04-03T18:50:38+02:00Fuchsi*GMREScan be imported from the old librarycan be imported from the old libraryFuchsi*Fuchsi*https://git.hemio.de/xerus/xerus/-/issues/86missing testcases2019-04-03T18:50:10+02:00Fuchsi*missing testcases- [ ] TTNetwork chop for operators
- [ ] TTNetwork dyadic product with vectors
- [ ] test orthogonality of U, V / Q in SVD and QR
- [ ] missing test for function PerformanceData::Histogram xerus::PerformanceData::Histogram::operator+...- [ ] TTNetwork chop for operators
- [ ] TTNetwork dyadic product with vectors
- [ ] test orthogonality of U, V / Q in SVD and QR
- [ ] missing test for function PerformanceData::Histogram xerus::PerformanceData::Histogram::operator+=(const xerus::PerformanceData::Histogram &) (src/xerus/performanceData.cpp:51)
- [ ] missing test for function TTTensor xerus::examples::peaking_diagonals(size_t, size_t, value_t) (src/xerus/examples/specificLowRankTensors.cpp:30)
- [ ] missing test for function TTTensor xerus::examples::peaking_diagonals(size_t, size_t, value_t) (src/xerus/examples/specificLowRankTensors.cpp:31)
- [ ] missing test for function bool xerus::TTNetwork<true>::is_valid_tt() const [isOperator = true] (src/xerus/ttNetwork.cpp:418)
- [ ] missing test for function bool xerus::TTNetwork<true>::is_valid_tt() const [isOperator = true] (src/xerus/ttNetwork.cpp:419)
- [ ] missing test for function item_t xerus::misc::min(const container_t<item_t, rest_t...> &) [container_t = vector, item_t = unsigned long, rest_t = <std::allocator<unsigned long>>] (include/xerus/misc/missingFunctions.h:167)
- [ ] missing test for function size_t xerus::TTNetwork<true>::find_largest_entry(const double, const value_t) const [isOperator = true] (src/xerus- [ ] /ttNetwork.cpp:974)
- [ ] missing test for function size_t xerus::TTNetwork<true>::rank(const size_t) const [isOperator = true] (src/xerus/ttNetwork.cpp:903)
- [ ] missing test for function static TTNetwork<isOperator> xerus::TTNetwork<false>::dyadic_product(const std::vector<std::reference_wrapper<TTNetwork<isOperator> > > &) [isOperator = false] (src/xerus/ttNetwork.cpp:605)
- [ ] missing test for function static TTNetwork<isOperator> xerus::TTNetwork<true>::dyadic_product(const TTNetwork<isOperator> &, const TTNetwork<isOperator> &) [isOperator = true] (src/xerus/ttNetwork.cpp:513)
- [ ] missing test for function static TTNetwork<isOperator> xerus::TTNetwork<true>::dyadic_product(const TTNetwork<isOperator> &, const TTNetwork<isOperator> &) [isOperator = true] (src/xerus/ttNetwork.cpp:514)
- [ ] missing test for function static TTNetwork<isOperator> xerus::TTNetwork<true>::dyadic_product(const TTNetwork<isOperator> &, const TTNetwork<isOperator> &) [isOperator = true] (src/xerus/ttNetwork.cpp:593)
- [ ] missing test for function static TTNetwork<isOperator> xerus::TTNetwork<true>::dyadic_product(const std::vector<std::reference_wrapper<TTNetwork<isOperator> > > &) [isOperator = true] (src/xerus/ttNetwork.cpp:605)
- [ ] missing test for function static bool xerus::TTNetwork<true>::specialized_sum_f(IndexedTensorWritable<xerus::TensorNetwork> &, const IndexedTensorReadOnly<xerus::TensorNetwork> &, const IndexedTensorReadOnly<xerus::TensorNetwork> &) [isOperator = true] (src/xerus/ttNetwork.cpp:1234)
- [ ] missing test for function std::pair<TensorNetwork, TensorNetwork> xerus::TTNetwork<true>::chop(const size_t) const [isOperator = true] (src/xerus/ttNetwork.cpp:746)
- [ ] missing test for function std::pair<TensorNetwork, TensorNetwork> xerus::TTNetwork<true>::chop(const size_t) const [isOperator = true] (src/xerus/ttNetwork.cpp:749)
- [ ] missing test for function std::pair<TensorNetwork, TensorNetwork> xerus::TTNetwork<true>::chop(const size_t) const [isOperator = true] (src/xerus/ttNetwork.cpp:807)
- [ ] missing test for function std::pair<TensorNetwork, TensorNetwork> xerus::TTNetwork<true>::chop(const size_t) const [isOperator = true] (src/xerus/ttNetwork.cpp:808)
- [ ] missing test for function std::string xerus::misc::exec(const std::string &) (src/xerus/misc/missingFunctions.cpp:31)
- [ ] missing test for function std::vector<size_t> xerus::IndexedTensorReadOnly<xerus::TensorNetwork>::get_evaluated_dimensions(const std::vector<Index> &) const [tensor_type = xerus::TensorNetwork] (src/xerus/indexedTensorReadOnly.cpp:101)
- [ ] missing test for function std::vector<size_t> xerus::IndexedTensorReadOnly<xerus::TensorNetwork>::get_evaluated_dimensions(const std::vector<Index> &) const [tensor_type = xerus::TensorNetwork] (src/xerus/indexedTensorReadOnly.cpp:109)
- [ ] missing test for function std::vector<size_t> xerus::IndexedTensorReadOnly<xerus::TensorNetwork>::get_evaluated_dimensions(const std::vector<Index> &) const [tensor_type = xerus::TensorNetwork] (src/xerus/indexedTensorReadOnly.cpp:110)
- [ ] missing test for function value_t xerus::IndexedTensorReadOnly<xerus::Tensor>::operator double() const [tensor_type = xerus::Tensor] (src/xerus/indexedTensorReadOnly.cpp:66)
- [ ] missing test for function value_t xerus::SteepestDescentVariant::solve(const TTOperator *, TTTensor &, const TTTensor &, size_t, value_t, xerus::PerformanceData &) const (src/xerus/algorithms/steepestDescent.cpp:92)
- [ ] missing test for function value_t xerus::SteepestDescentVariant::solve(const TTOperator *, TTTensor &, const TTTensor &, size_t, value_t, xerus::PerformanceData &) const (src/xerus/algorithms/steepestDescent.cpp:99)
- [ ] missing test for function virtual void xerus::TensorNetwork::operator/=(const value_t) (src/xerus/tensorNetwork.cpp:271)
- [ ] missing test for function virtual void xerus::internal::TTStack<true>::operator*=(const value_t) [isOperator = true] (include/xerus/ttNetwork.h:467)
- [ ] missing test for function void xerus::IndexedTensorReadOnly<xerus::TensorNetwork>::check_indices(const size_t, const bool) const [tensor_type = xerus::TensorNetwork] (src/xerus/indexedTensorReadOnly.cpp:188)
- [ ] missing test for function void xerus::IndexedTensorReadOnly<xerus::TensorNetwork>::check_indices(const size_t, const bool) const [tensor_type = xerus::TensorNetwork] (src/xerus/indexedTensorReadOnly.cpp:189)
- [ ] missing test for function void xerus::IndexedTensorReadOnly<xerus::TensorNetwork>::check_indices(const size_t, const bool) const [tensor_type = xerus::TensorNetwork] (src/xerus/indexedTensorReadOnly.cpp:190)
- [ ] missing test for function void xerus::IndexedTensorReadOnly<xerus::TensorNetwork>::check_indices(const size_t, const bool) const [tensor_type = xerus::TensorNetwork] (src/xerus/indexedTensorReadOnly.cpp:193)
- [ ] missing test for function void xerus::IndexedTensorReadOnly<xerus::TensorNetwork>::check_indices(const size_t, const bool) const [tensor_type = xerus::TensorNetwork] (src/xerus/indexedTensorReadOnly.cpp:194)
- [ ] missing test for function void xerus::TTNetwork<true>::assume_core_position(const size_t) [isOperator = true] (src/xerus/ttNetwork.cpp:940)
- [ ] missing test for function void xerus::TTNetwork<true>::soft_threshold(const std::vector<double> &, const bool) [isOperator = true] (src/xerus/ttNetwork.cpp:859)
- [ ] missing test for function void xerus::TTNetwork<true>::soft_threshold(const std::vector<double> &, const bool) [isOperator = true] (src/xerus/ttNetwork.cpp:860)
- [ ] missing test for function void xerus::TTTangentVector::set_base(const TTTensor &) (src/xerus/algorithms/retractions.cpp:76)
- [ ] missing test for function void xerus::matrix_matrix_product(std::map<size_t, double> &, const size_t, const size_t, const double, const std::map<size_t, double> &, const size_t, const double *const) (src/xerus/sparseTimesFullContraction.cpp:148)
https://git.hemio.de/xerus/xerus/-/issues/28Allow construction of TTTensors including the diagonal matrices2019-04-03T18:48:16+02:00Sebastian WolfAllow construction of TTTensors including the diagonal matricesThe feature was more or less present in the old tensor library.The feature was more or less present in the old tensor library.https://git.hemio.de/xerus/xerus/-/issues/131automatic testing of algorithms2019-04-03T18:36:09+02:00Fuchsi*automatic testing of algorithms- if they are of the default syntax, automatically generate speed histograms for all example systems and store them in a given path.
- Use thit to generate speed plots of all our algorithms on all test examples- if they are of the default syntax, automatically generate speed histograms for all example systems and store them in a given path.
- Use thit to generate speed plots of all our algorithms on all test examplesFuchsi*Fuchsi*https://git.hemio.de/xerus/xerus/-/issues/39quadmath or other higher-precision arithmetic2019-04-03T18:34:55+02:00Fuchsi*quadmath or other higher-precision arithmeticdepends on #42 depends on #42 https://git.hemio.de/xerus/xerus/-/issues/242Add a CI test using _GLIBCXX_ASSERTIONS2019-04-02T15:39:55+02:00Sebastian WolfAdd a CI test using _GLIBCXX_ASSERTIONSThe config file allows to use the additional assertions of the GLIBC via `-D _GLIBCXX_ASSERTIONS`. There should be a CI test where this is active as it would directly expose e.g. vector out-of-bounds errors.The config file allows to use the additional assertions of the GLIBC via `-D _GLIBCXX_ASSERTIONS`. There should be a CI test where this is active as it would directly expose e.g. vector out-of-bounds errors.Version 4.0Sebastian WolfSebastian Wolfhttps://git.hemio.de/xerus/xerus/-/issues/245race conditions in CI execution2019-04-02T15:29:28+02:00Fuchsi*race conditions in CI executionour current method of separating the compilation and execution of the unittests is unstable if two or more commits are pending in the CI pipeline. Which executable gets tested is pretty much random. At the moment this can be a problem wi...our current method of separating the compilation and execution of the unittests is unstable if two or more commits are pending in the CI pipeline. Which executable gets tested is pretty much random. At the moment this can be a problem with commits that are less than 25 min apart...Version 4.0Sebastian WolfSebastian Wolfhttps://git.hemio.de/xerus/xerus/-/issues/231Add Skip option for test cases for non-regression failing tests2019-03-31T12:47:04+02:00RoteKekseAdd Skip option for test cases for non-regression failing testsVersion 4.0Sebastian WolfSebastian Wolfhttps://git.hemio.de/xerus/xerus/-/issues/227Use the 4.0 release to rename Tensor.degree to Tensor.order ?2019-03-24T14:10:06+01:00Sebastian WolfUse the 4.0 release to rename Tensor.degree to Tensor.order ?The naming of `Tensor.degree` is mainly for historical reasons, as the most widely used term for the number of modes of a tensor is "order" and not "degree". Maybe we should use the 4.0 release to change the term accordingly?The naming of `Tensor.degree` is mainly for historical reasons, as the most widely used term for the number of modes of a tensor is "order" and not "degree". Maybe we should use the 4.0 release to change the term accordingly?Version 4.0Sebastian WolfSebastian Wolf