Tags give the ability to mark specific points in history as being important
  • v4.0.1_conda
  • v3.0.1
    c766e0a8 · release version 3.0.1 ·
  • v3.0.0
    3c59d50d · Merge branch 'v3' ·
  • v2.4.0
    Release v2.4.0
    • 2016-06-23 v2.4.0
    • Introduced nomeclature 'mode'. Marked all functions that will be renamed / removed in v3.0.0 as deprecated.
    • Added an experimental python wrapper when 'OTHER += -DXERUS_EXPERIMENTAL_PYTHON_WRAPPER' is defined in the config file.
    • Added TT::degrees_of_freedom function to determine the dimension of the current tangent space.
    • ! Corrected a typo in the class names of the measurement sets.
    • Improved compilation time and more forgiving default settings for warnings.
  • v2.3.0
    410a0e37 · release of version 2.3.0 ·
    Release v2.3.0
    • Added save_to_file and load_from_file functions to store and restore Tensors and TensorNetworks in/from files.
    • Added SVD based calculate_pseudo_inverse function to Tensor.
    • Added implementation for perform_trace() for sparse Tensors.
    • Fixed the pipe operator for xerus::misc::generic_exception to not destroy the type information.
    • Bug fix in the handling of fixed indices in TensorNetworks.
    • Several static member function now warn if their return type is not used.
    • Initial support for compilation with the intel ICC.
  • v2.2.1
    Release v2.2.1
    • Added support for 32bit systems.
  • v2.2.0
    fe92bcb2 · Release v2.2.0 ·
    Release v2.2.0
    • Added Sparse solve and sparse QR factorization.
    • ! Xerus now depends on the SuiteSparseQR (-lspqr) library.
    • TTNetwork sum now supports sparse components.
    • TTNetwork entrywise_product now supports sparse components.
    • ! entrywise_product (for TTNetworks) now a free function instead of static member.
    • TTNetwork entrywise_square now supports sparse components.
    • Bugfix in Dense/Sparse conversion factor handling.
  • v2.1.1
    727ec051 · Prepare Release 2.1.1 ·
    Release v2.1.1
    • Basic support for fixed indices in TensorNetworks.
    • Readded TTNetwork constructor from DimensionTuple.
    • Bugfixes for TTNetwork dyadic_product.
  • v2.1.0
    Release v2.1.0
    • ! fix_slate() now works correctly for TTTensors and (correctly) throws an error for TTOperators.
    • Several bug fixes in the handling of TTNetworks of degree zero.
    • Implemented the Tensor CQ function, which is now used where appropriate.
    • Added several unit tests to ensure consitent results for dense/sparse Tensors, TensorNetwork and TTNetworks.
  • v2.0.0
    a3c17e3f · release of version 2.0.0 ·
    Release v2.0.0
    • ! Merged FullTensor and SparseTensor into a single Tensor class.
    • Implemented several FullTensor functions also for sparse representations (modify(_diag)_elements, fix_slate, resize_dimension,...)
    • ! IndexedTensor*s now considered internal.
    • ! Removed all support for stored IndexedTensor*s.
    • ! Reworked the IndexedTensor* index assignment.
    • ! Changed resize_dimension to allow slate insertion at the first position.
    • Added TTTensor::random with callback function to manipulate the singular values of all matricisations.
    • Rewrote the ALS algorithm for better readability.
    • Added fully functional (multi-site) DMRG and alternating steepest descent algorithms.
    • Support for low level factorisation calls for Tensor class.
    • Several bug fixes, including SVD factor handling, SparseTensor summation, Tensor resize_dimension, TN evaluation,....
    • Added several test cases.
  • v1.5.0
    Release v1.5.0
    • Added the ADF algorithm for rank one measurements instead of point evaluations.
    • Parallelized the ADF algorithm using openmp (note: at this point not compatible with the replacement allocator!)
    • TT::random no longer uses size_t to measure the size of the tensor and no longer exceeds maximal ranks.
    • Fixed a bug in the ALS that caused the algorithm to always stop after one sweep if called without operator A.
  • v1.4.2
    3a40852a · changelog for v1.4.2 ·
    Release v1.4.2
    • The custom allocator now enforces memory alignment even if the underlying malloc does not.
    • Cannonicalized TT tensors can no longer exceed the maximal TT rank.
  • v1.4.1
    0e564a16 · fixed TTTensor::ones ·
    Release v1.4.1
    • Fixed a bug with the recannonicalization of products of TTOperators.
    • Many improvements for the ADF algorithm for tensor completion.
    • Added TTTensor::ones and TTOperator::ones to create TTTensors with all entries equal to 1.
  • v1.4.0
    e329daf9 · cleanup for release 1.4.0 ·
    Release v1.4.0
    • Added an implementation of the ADF algorithm.
    • Added a custom allocator to better handle the small allocations of Indices etc. (requires to set the corresponding option in the config.mk).
    • Reduced overhead (time not spent in blas) of TensorNetwork contractions.
    • Tensor decomposition now allow arbitrary index orders in the target as well as the source.
    • Added TN::measure(...) to perform a batch of evaluations of the network.
    • Added TN::fix_slate(...) to fix a single index to a specific value.
    • Added TN::reduce_representation() to trace out any full-rank edge.
    • Added TN::transfer_core(...) and TN::round_edge(...) analogously to TT rounding / core movement operations.
    • ! renamed class::construct_random to class::random and TTOperator::construct_identity to TTOperator::identity.
    • Added several named constructors:
    • Tensor::ones(...) to construct tensors filled with all entries equal to 1.
    • Tensor::identity(...) to construct a (sparse) tensor equal to the TTOperator::identity.
    • Tensor::dirac(...) to construct a (sparse) tensor with a single 1 at a given position and 0 everywhere else.
    • Tensor::kronecker(...) to construct a tensor that is 1 when all indices are equal and 0 otherwise.
    • ! misc::approx_equal now uses a relative difference (for consistency with the tensor variant xerus::approx_equal).
    • Several bugfixes for SparseTensors.
    • Several minor bugfixes (TN::draw no longer uses temporary files, span-zero indices in assignment, ...).
  • old-TN-contraction

    meant for use by developers only!

  • v1.3.0
    Release v1.3.0
    • Added several retractions to allow Riemannian algorithms on TT manifolds.
    • Added the basic (Riemannian) steepest descent algorithm.
    • Added the (so far untested) CG algorithm for TT tensors.
    • ! New PerformanceData class to log stepcount, time and residual of algorithm runs.
    • New algorithm to determine the largest entry of a TT tensor.
    • Fully rewrote the contraction heuristics, now including a local search for more optimal contraction orders.
    • Several bugfixes for order-zero tensors, TT tensors of more than full rank and other rare cases.
  • v1.2.1
    Release v1.2.1
    • entrywise_product for FullTensor and TTNetwork.
    • TensorNetworks now without extraneous factor.
  • v1.2.0
    Release v1.2.0
    • Rank revealing QR decomposition in TTNetwork:move_core.
    • ALS performance improvement by skipping full-rank nodes.
    • Added TensorNetwork::draw to get a graphical representation of a given tensor network.
    • Added algorithm DecompositionALS to approximate a FullTensor by a TTTensor.
    • New Quick-Start guide.
    • Several bugfixes, more consistent operator availability and much more documentation.
  • v1.1.1
    4b0a143b · Version 1.1.1 ·
    Release v1.1.1
    • Complete documentation for Tensor, FullTensor and SparseTensor
    • Added implementation of the projection ALS
    • Fixed performance bug in logging system
    • ALS now uses energy functional for convergence testing
    • Several minor fixes
  • v1.1.0
    1ee23297 · version 1.1.0 changelog ·
    Release v1.1.0
    • ! New representation for the TT tensors: all component tensors are now of degree 3 / 4 (operators).
    • TT::get_component and ::set_component functions that handle the meta data.
    • More strict ISO c++ conformity: no names starting with '__'.
    • More elaborate performance profiling.