ttclass/amensolve.m
Solves the linear system Ax=y using the AMEn iteration.
Syntax
x=amensolve(A,y,tol,opts,x0)
Parameters
A - ttclass representing a square matrix
y - ttclass representing the right hand side
tol - relative approximation and stopping tolerance,
1e-6 is a good start
x0 - ttclass representing the initial guess
Options (pass empty array for defaults):
opts.nswp - maximum number of AMEn sweeps
opts.init_guess_rank - the rank of the initial guess
opts.enrichment_rank - the rank of the residual and
enrichment
opts.resid_damp - local accuracy gap
opts.rmax - maximum TT rank limit for the solution
opts.max_full_size - direct vs iterative solver switch-
over dimension
opts.local_iters - maximum number of bicgstab iterations
for local problems
opts.verb - Verbosity level: silent (0), sweep (1) or full (2)
Outputs
x - ttclass representing the solution such that
|x-X| < tol |X| in Frobenius norm, where X is
the exact solution.
Notes
A, y and x0 should have ntrains==1. Call ttclass/shrink.m on all three if that is not the case.
A very experimental tensor train format solver - see papers by Savostyanov and Dolgov.
See also
ttclass.m, ttclass/amensum.m, ttclass/shrink.m, ttclass/clearcoeff.m, ttclass/conj.m, ttclass/ctranspose.m, ttclass/diag.m, ttclass/dot.m, ttclass/full.m, ttclass/hdot.m, ttclass/ismatrix.m, ttclass/isnumeric.m, ttclass/isreal.m, ttclass/kron.m, ttclass/mean.m, ttclass/minus.m, ttclass/mldivide.m, ttclass/mrdivide.m, ttclass/mtimes.m, ttclass/nnz.m, ttclass/norm.m, ttclass/numel.m, ttclass/pack.m, ttclass/plus.m, ttclass/rand.m, ttclass/ranks.m, ttclass/rdivide.m, ttclass/revert.m, ttclass/size.m, ttclass/sizes.m, ttclass/subsref.m, ttclass/sum.m, ttclass/trace.m, ttclass/transpose.m, ttclass/truncate.m, ttclass/ttort.m, ttclass/unit_like.m, ttclass/vec.m, Tensor_train_module
Version 2.1, authors: Dmitry Savostyanov, Sergey Dolgov