3#ifndef cMHN_COMMON_CALCULATE_PTHETA_H
4#define cMHN_COMMON_CALCULATE_PTHETA_H
33 template<
class T, pRC::Size D>
69 template<pRC::Size R,
class T,
class X, pRC::Size D>
71 T const &toleranceSolver)
83 auto pTheta =
TT::als<R>(op, p0, toleranceSolver, eval(pInit));
85 pTheta /= scalarProduct(pTheta,
106 template<pRC::Size R,
class T, pRC::Size D>
108 T const &toleranceSolver)
117 auto pInit = round<Ranks>(
120 pInit /= scalarProduct(pInit,
pRC::Size const D
Definition CalculatePThetaTests.cpp:9
Class storing an MHN operator represented by a theta matrix (for TT calculations)
Definition mhn_operator.hpp:24
Class storing an MHN operator represented by a theta matrix (for non TT calculations)
Definition mhn_operator.hpp:24
Definition gaussian.hpp:14
Definition subscripts.hpp:21
Definition declarations.hpp:16
static constexpr auto Single(X &&value, Is const ... indices)
Definition tensor.hpp:51
Definition threefry.hpp:22
pRC::Float<> T
Definition externs_nonTT.hpp:1
constexpr auto getRanks()
Definition utility.hpp:17
auto als(MHNOperator< T, D > const &MHNop, Tb const &b, T const &tolerance, X const &x0)
Definition als.hpp:16
constexpr auto getModeSizes()
Definition utility.hpp:11
X jacobi(nonTT::MHNOperator< T, D > const &op, X const &b)
Solves the linear system (1-Q)x=b or (1-Q)^Tx=b.
Definition jacobi.hpp:26
Definition calculate_pTheta.hpp:20
decltype(expand(pRC::makeConstantSequence< pRC::Size, D, 2 >(), [](auto const ... Ns) { return pRC::Tensor< T, Ns... >{};})) calculatePTheta(nonTT::MHNOperator< T, D > const &op)
Calculates the vector pTheta given a nonTT MHN Operator.
Definition calculate_pTheta.hpp:39
static constexpr auto unit()
Definition unit.hpp:13
static constexpr auto makeConstantSequence()
Definition sequence.hpp:444
std::size_t Size
Definition basics.hpp:31
static constexpr auto identity()
Definition identity.hpp:13
static constexpr auto random(URNG &rng, D &distribution)
Definition random.hpp:13