xerus issueshttps://git.hemio.de/xerus/xerus/-/issues2018-04-23T03:03:37+02:00https://git.hemio.de/xerus/xerus/-/issues/107time since program start instead of absolute time in logger2018-04-23T03:03:37+02:00Fuchsi*time since program start instead of absolute time in loggerVersion 1.2Fuchsi*Fuchsi*https://git.hemio.de/xerus/xerus/-/issues/106TTNetwork constructor with fixed rank2018-04-23T03:03:37+02:00Sebastian WolfTTNetwork constructor with fixed rankVersion 1.2Sebastian WolfSebastian Wolfhttps://git.hemio.de/xerus/xerus/-/issues/104operators * value_t and /value_t in indexedTensor2018-04-23T03:03:37+02:00Fuchsi*operators * value_t and /value_t in indexedTensorVersion 1.2Sebastian WolfSebastian Wolfhttps://git.hemio.de/xerus/xerus/-/issues/103ALS has to take care of the global factor2018-04-23T03:03:37+02:00Sebastian WolfALS has to take care of the global factorVersion 1.2Fuchsi*Fuchsi*https://git.hemio.de/xerus/xerus/-/issues/102FullTensor constructor from Tensor& instead of FullTensor& and SparseTensor&2018-04-23T03:03:37+02:00Fuchsi*FullTensor constructor from Tensor& instead of FullTensor& and SparseTensor&Version 1.3Sebastian WolfSebastian Wolfhttps://git.hemio.de/xerus/xerus/-/issues/99Invalid memory access in projection ALS2018-04-23T03:03:37+02:00Sebastian WolfInvalid memory access in projection ALS```
| projectionALS starting: ==10187== Invalid read of size 16
==10187== at 0x7B9815: dswap_k (in /home/baum/code/xerus/XerusTest)
==10187== by 0x781F76: dswap_ (swap.c:90)
==10187== by 0x794D37: dbdsqr_.constprop.238 (dbds...```
| projectionALS starting: ==10187== Invalid read of size 16
==10187== at 0x7B9815: dswap_k (in /home/baum/code/xerus/XerusTest)
==10187== by 0x781F76: dswap_ (swap.c:90)
==10187== by 0x794D37: dbdsqr_.constprop.238 (dbdsqr.f:830)
==10187== by 0x79FB2A: dlasdq_.constprop.237 (dlasdq.f:377)
==10187== by 0x7A07C9: dbdsdc_.constprop.233 (dbdsdc.f:363)
==10187== by 0x6C0250: dgesdd_ (dgesdd.f:937)
==10187== by 0x7A2A8F: LAPACKE_dgesdd_work.constprop.229 (lapacke_dgesdd_work.c:115)
==10187== by 0x6FCE6D: LAPACKE_dgesdd (lapacke_dgesdd.c:77)
==10187== by 0x6FCE6D: xerus::blasWrapper::svd_destructive(double*, double*, double*, double*, unsigned long, unsigned long) (blasLapackWrapper.cpp:184)
==10187== by 0x5F6B16: xerus::TTNetwork<false>::round_train(std::vector<unsigned long, std::allocator<unsigned long> > const&, double) (ttNetwork.cpp:303)
==10187== by 0x75EF53: xerus::TTNetwork<false>::round(unsigned long) (ttNetwork.cpp:756)
==10187== by 0x5DEC9F: {lambda()#2}::operator()() const [clone .isra.189] [clone .lto_priv.1270] (als.cxx:72)
==10187== by 0x6EDAD6: operator() (functional:2439)
==10187== by 0x6EDAD6: xerus::misc::internal::test(std::pair<std::string, std::function<bool ()> > const&) (test.cpp:97)
==10187== Address 0x6aac950 is 384 bytes inside a block of size 392 alloc'd
==10187== at 0x4C29BCF: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==10187== by 0x7A2941: LAPACKE_dgesdd_work.constprop.229 (lapacke_dgesdd_work.c:96)
==10187== by 0x6FCE6D: LAPACKE_dgesdd (lapacke_dgesdd.c:77)
==10187== by 0x6FCE6D: xerus::blasWrapper::svd_destructive(double*, double*, double*, double*, unsigned long, unsigned long) (blasLapackWrapper.cpp:184)
==10187== by 0x5F6B16: xerus::TTNetwork<false>::round_train(std::vector<unsigned long, std::allocator<unsigned long> > const&, double) (ttNetwork.cpp:303)
==10187== by 0x75EF53: xerus::TTNetwork<false>::round(unsigned long) (ttNetwork.cpp:756)
==10187== by 0x5DEC9F: {lambda()#2}::operator()() const [clone .isra.189] [clone .lto_priv.1270] (als.cxx:72)
==10187== by 0x6EDAD6: operator() (functional:2439)
==10187== by 0x6EDAD6: xerus::misc::internal::test(std::pair<std::string, std::function<bool ()> > const&) (test.cpp:97)
==10187== by 0x410CE5: main (test.cpp:212)
==10187==
```Version 1.2Fuchsi*Fuchsi*https://git.hemio.de/xerus/xerus/-/issues/98Move *=, /= and approx_equal to Tensor2018-04-23T03:03:37+02:00Sebastian WolfMove *=, /= and approx_equal to TensorVersion 1.2Sebastian WolfSebastian Wolfhttps://git.hemio.de/xerus/xerus/-/issues/97Use a rank revealing QR algorithms for TTNetwork.2018-04-23T03:03:37+02:00Sebastian WolfUse a rank revealing QR algorithms for TTNetwork.Version 1.2Fuchsi*Fuchsi*https://git.hemio.de/xerus/xerus/-/issues/95Prevent TTNetworks to have ranks larger than the theoretical maximum at every...2018-04-23T03:03:37+02:00Sebastian WolfPrevent TTNetworks to have ranks larger than the theoretical maximum at every point.Version 1.2Fuchsi*Fuchsi*https://git.hemio.de/xerus/xerus/-/issues/94Implement an ALS variant for the Identity operator2018-04-23T03:03:37+02:00Sebastian WolfImplement an ALS variant for the Identity operatorTo be used to find better low rank approximations.To be used to find better low rank approximations.Version 1.2Fuchsi*Fuchsi*https://git.hemio.de/xerus/xerus/-/issues/85Allow TTNetwork constructors to use a Tensor reference (instead of FullTensor...2018-04-23T03:03:37+02:00Sebastian WolfAllow TTNetwork constructors to use a Tensor reference (instead of FullTensor or SparseTensor reference)Version 1.2Sebastian WolfSebastian Wolfhttps://git.hemio.de/xerus/xerus/-/issues/82implement +=, -= for indexed tensors2018-04-01T13:07:03+02:00Fuchsi*implement +=, -= for indexed tensorsand use those in operators +/-and use those in operators +/-Version 1.3Sebastian WolfSebastian Wolfhttps://git.hemio.de/xerus/xerus/-/issues/80create xerus::epsilon to be used for all near-zero values2018-04-23T03:03:38+02:00Fuchsi*create xerus::epsilon to be used for all near-zero valuesand replace all occurences of 1e-15, 1e-14 and similar magic values by this epsilon...and replace all occurences of 1e-15, 1e-14 and similar magic values by this epsilon...Version 1.2Sebastian WolfSebastian Wolfhttps://git.hemio.de/xerus/xerus/-/issues/76Make FullTensor and SparseTensor +/- operators work with an arbitary Tensor r...2018-04-23T03:03:38+02:00Sebastian WolfMake FullTensor and SparseTensor +/- operators work with an arbitary Tensor refrence, instead of Full/SparseTensor.Leads to simplification of other functions.Leads to simplification of other functions.Version 1.2https://git.hemio.de/xerus/xerus/-/issues/52Allow output of TensorNetworks into graph plotting format, to visualize the n...2018-04-01T13:07:03+02:00Sebastian WolfAllow output of TensorNetworks into graph plotting format, to visualize the network.For example using http://www.graphviz.org or some other graph tool.For example using http://www.graphviz.org or some other graph tool.Version 1.2Sebastian WolfSebastian Wolfhttps://git.hemio.de/xerus/xerus/-/issues/47doxygen docu completeness2018-04-23T03:03:39+02:00Fuchsi*doxygen docu completenessensure that every function, class, macro etc. has a documentation in the sourcesensure that every function, class, macro etc. has a documentation in the sourcesVersion 1.3https://git.hemio.de/xerus/xerus/-/issues/46doxygen docu cleanup2018-04-23T03:03:39+02:00Fuchsi*doxygen docu cleanupremove irrelevant namespaces and classes from the documentationremove irrelevant namespaces and classes from the documentationVersion 1.2Sebastian WolfSebastian Wolfhttps://git.hemio.de/xerus/xerus/-/issues/34Gradient method (IHT, IST) + CG2018-04-01T13:07:03+02:00Fuchsi*Gradient method (IHT, IST) + CGVersion 1.3Fuchsi*Fuchsi*https://git.hemio.de/xerus/xerus/-/issues/23Code coverage detection not working properly2018-04-23T03:03:39+02:00Sebastian WolfCode coverage detection not working properlyCode coverage says:
file index.hpp : 2 of 4 tests performed
However there are only two REQUIREs in index.hpp, which are most certainly called. Probably the problem is that the corresponding functions also appear inlined?Code coverage says:
file index.hpp : 2 of 4 tests performed
However there are only two REQUIREs in index.hpp, which are most certainly called. Probably the problem is that the corresponding functions also appear inlined?Version 1.2Fuchsi*Fuchsi*https://git.hemio.de/xerus/xerus/-/issues/4Change direction of the ALS2018-04-23T03:03:40+02:00Sebastian WolfChange direction of the ALSAt the moment the ALS starts on the left most node, while the standard normalization has the core at the right most node.
this results in unneccesary renormalizationsAt the moment the ALS starts on the left most node, while the standard normalization has the core at the right most node.
this results in unneccesary renormalizationsVersion 1.2