SyTen

◆ solve() [3/3]

template<typename Matrix , typename Vector , typename OrthoPolicy , typename HEffPolicy , typename SolverPolicy , typename ApplicationPolicy = TensorNetworksImpl::ApplyThenOrtho>
template<typename... Args>
IterativeExit syten::Krylov::TensorNetworks< Matrix, Vector, OrthoPolicy, HEffPolicy, SolverPolicy, ApplicationPolicy >::solve ( Vector  v,
IterativeConfig const &  conf,
Vector &  result,
Args...  args 
)
inline

Initialises the starting vector and solves the problem.

Template Parameters
Argstype pack of arguments to be forwarded to the effective matrix generator and the solver policy
Parameters
vinput vector to be taken as the first Krylov vector
confconfiguration object to abide by
resultreference in which to return the resulting vector
argsarguments to be forwarded to the effective matrix generator and the solver policy
Returns
an IterativeExit object describing the calculation
Remarks
Discards the existing Krylov space as the initial vector is different

References syten::Krylov::TensorNetworks< Matrix, Vector, OrthoPolicy, HEffPolicy, SolverPolicy, ApplicationPolicy >::initialNorm, syten::Krylov::TensorNetworks< Matrix, Vector, OrthoPolicy, HEffPolicy, SolverPolicy, ApplicationPolicy >::krylov, std::move(), syten::Krylov::norm(), and syten::Krylov::TensorNetworks< Matrix, Vector, OrthoPolicy, HEffPolicy, SolverPolicy, ApplicationPolicy >::solve().

+ Here is the call graph for this function: