Helper routine to artificially increase the rank of the current iterate.
0001 % Helper routine to artificially increase the rank of the current iterate. 0002 0003 % TTeMPS Toolbox. 0004 % Michael Steinlechner, 2013-2016 0005 % Questions and contact: michael.steinlechner@epfl.ch 0006 % BSD 2-clause license, see LICENSE.txt 0007 0008 function X = increaseRank( X, inc, idx, epsilon ) 0009 0010 r = X.rank; 0011 n = X.size; 0012 d = X.order; 0013 0014 if ~exist('epsilon','var') 0015 epsilon = 1e-8; 0016 end 0017 0018 X.U{idx-1} = cat( 3, X.U{idx-1}, epsilon*randn(r(idx-1), n(idx-1), inc) ); 0019 X.U{idx} = cat( 1, X.U{idx}, epsilon*randn(inc, n(idx), r(idx+1)) ); 0020 end