28 #include "../tensor.h" 51 TTTensor change_direction_incomplete()
const;
67 HOSVDRetraction(
const std::vector<size_t> &_rank) : roundByVector(true), rank(~0ul), rankVector(_rank) {}
70 using TTRetractionI = std::function<void(TTTensor &, const TTTangentVector &)>;
retraction that performs a HOSVD to project back onto the Manifold
TTTangentVector operator*(value_t _alpha) const
TTTensor added_to_base() const
std::function< void(TTTensor &, const TTTangentVector &)> TTRetractionI
class to compactly represent tangent vectors of the manifold of constant TT-rank
void set_base(const TTTensor &_newBase)
The main namespace of xerus.
void ProjectiveVectorTransport(const TTTensor &_newBase, TTTangentVector &_tangentVector)
simple vector transport by projecting onto the new tangent plane
value_t frob_norm() const
TTNetwork< false > TTTensor
void SubmanifoldRetractionI(TTTensor &_U, const TTTangentVector &_change)
retraction that performs componentwise addition of and where is the i-th component of the riemanni...
TTTangentVector & operator+=(const TTTangentVector &_rhs)
void ALSRetractionII(TTTensor &_U, const TTTensor &_change)
retraction that performs an ALS half-sweep to project back onto the Manifold. Automatically retains t...
void HOSVDRetractionII(TTTensor &_U, const TTTensor &_change)
std::vector< size_t > rankVector
double value_t
The type of values to be used by xerus.
void HOSVDRetractionI(TTTensor &_U, const TTTangentVector &_change)
retraction that performs a HOSVD to project back onto the Manifold
value_t scalar_product(const TTTangentVector &_other) const
std::function< void(TTTensor &, const TTTensor &)> TTRetractionII
HOSVDRetraction(const std::vector< size_t > &_rank)
std::vector< Tensor > components
void ALSRetractionI(TTTensor &_U, const TTTangentVector &_change)
retraction that performs an ALS half-sweep to project back onto the Manifold. Automatically retains t...
TTTangentVector & operator*=(value_t _alpha)
void SubmanifoldRetractionII(TTTensor &_U, const TTTensor &_change)
retraction that performs componentwise addition of and where is the i-th component of the riemanni...
HOSVDRetraction(size_t _rank)
TTTangentVector & operator-=(const TTTangentVector &_rhs)
std::function< void(const TTTensor &, TTTangentVector &)> TTVectorTransport