Home > manopt > manifolds > ttfixedrank > TTeMPS_1.1 > @TTeMPS > gauge_matrices.m

gauge_matrices

PURPOSE ^

GAUGE_MATRICES Right and left orthogonalization with storage of gauge matrices

SYNOPSIS ^

function [xL, xR, G] = gauge_matrices( x )

DESCRIPTION ^

 GAUGE_MATRICES Right and left orthogonalization with storage of gauge matrices

   [xL,xR,G] = GAUGE_MATRICES(x) Compute a left and right orthogonalization and 
   keep the gauge matrices that relates them.

   The i-th core of xR
        unfold(xR.U{i},'left')
   is equal to the transformed i-th core of xL
        kron(eye(n(i)),inv(G{i-1}))*unfold(xL.U{i},'left')*G{i}
   (where fore i=1 and i=d, G{i} = 1).

   Or, equivalently
        tensorprod_ttemps( tensorprod_ttemps( xL.U{i}, G{i}', 3), inv(G{i-1}), 1)
   equals
        xR.U{i}.

   See also LEFT_ORTH_WITH_GAUGE

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function [xL, xR, G] = gauge_matrices( x )
0002 % GAUGE_MATRICES Right and left orthogonalization with storage of gauge matrices
0003 %
0004 %   [xL,xR,G] = GAUGE_MATRICES(x) Compute a left and right orthogonalization and
0005 %   keep the gauge matrices that relates them.
0006 %
0007 %   The i-th core of xR
0008 %        unfold(xR.U{i},'left')
0009 %   is equal to the transformed i-th core of xL
0010 %        kron(eye(n(i)),inv(G{i-1}))*unfold(xL.U{i},'left')*G{i}
0011 %   (where fore i=1 and i=d, G{i} = 1).
0012 %
0013 %   Or, equivalently
0014 %        tensorprod_ttemps( tensorprod_ttemps( xL.U{i}, G{i}', 3), inv(G{i-1}), 1)
0015 %   equals
0016 %        xR.U{i}.
0017 %
0018 %   See also LEFT_ORTH_WITH_GAUGE
0019 
0020 %   TTeMPS Toolbox.
0021 %   Michael Steinlechner, 2013-2016
0022 %   Questions and contact: michael.steinlechner@epfl.ch
0023 %   BSD 2-clause license, see LICENSE.txt
0024 
0025     xR = orthogonalize( x, 1 );
0026     
0027     [xL, G] = left_orth_with_gauge( xR ); 
0028     
0029 end

Generated on Fri 30-Sep-2022 13:18:25 by m2html © 2005