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