returns the multilevel circulant matrix tt generated by the multi-dimensional input vector x in the QTT format The size of the input vector is 2^d(1) x ... x 2^d(D), The output matrix is square of order 2^d(1) x ... x 2^d(D). April 20, 2011 Vladimir Kazeev vladimir.kazeev@gmail.com INM RAS Moscow, Russia %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% For details please see the preprint http://www.mis.mpg.de/publications/preprints/2011/prepr2011-36.html Vladimir A. Kazeev, Boris N. Khoromskij and Eugene E. Tyrtyshnikov Multilevel Toeplitz matrices generated by QTT tensor-structured vectors and convolution with logarithmic complexity January 12, 2012 Vladimir Kazeev, Seminar for Applied Mathematics, ETH Zurich vladimir.kazeev@sam.math.ethz.ch %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0001 function [tt]=tt_qcirc(x,d) 0002 % returns the multilevel circulant matrix tt generated by the multi-dimensional input vector x 0003 % in the QTT format 0004 % 0005 % The size of the input vector is 2^d(1) x ... x 2^d(D), 0006 % The output matrix is square of order 2^d(1) x ... x 2^d(D). 0007 % 0008 % April 20, 2011 0009 % Vladimir Kazeev 0010 % vladimir.kazeev@gmail.com 0011 % INM RAS 0012 % Moscow, Russia 0013 % 0014 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0015 % For details please see the preprint 0016 % http://www.mis.mpg.de/publications/preprints/2011/prepr2011-36.html 0017 % Vladimir A. Kazeev, Boris N. Khoromskij and Eugene E. Tyrtyshnikov 0018 % Multilevel Toeplitz matrices generated by QTT tensor-structured vectors and convolution with logarithmic complexity 0019 % January 12, 2012 0020 % Vladimir Kazeev, 0021 % Seminar for Applied Mathematics, ETH Zurich 0022 % vladimir.kazeev@sam.math.ethz.ch 0023 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0024 0025 tt=tt_qshiftstack_p(d); 0026 tt=tt_qreshape(tt,3,[4*ones(sum(d),1),2*ones(sum(d),1)]); 0027 tt=tt_mv(tt,x); 0028 tt=tt_qreshape(tt,1,2*ones(sum(d),2)); 0029 0030 return 0031 end