Returns the symmetric parts of the matrices in a 3D array function Y = multisym(X) Y is a 3D array the same size as X. Each slice Y(:, :, i) is the symmetric part of the slice X(:, :, i), that is, Y(:, :, i) = .5*(X(:, :, i) + X(:, :, i).') Note that we do not take complex conjugates. For this, see multiherm. See also: multiherm multiskew multiskewh multiprod multitransp multiscale
0001 function Y = multisym(X) 0002 % Returns the symmetric parts of the matrices in a 3D array 0003 % 0004 % function Y = multisym(X) 0005 % 0006 % Y is a 3D array the same size as X. Each slice Y(:, :, i) is the 0007 % symmetric part of the slice X(:, :, i), that is, 0008 % 0009 % Y(:, :, i) = .5*(X(:, :, i) + X(:, :, i).') 0010 % 0011 % Note that we do not take complex conjugates. For this, see multiherm. 0012 % 0013 % See also: multiherm multiskew multiskewh multiprod multitransp multiscale 0014 0015 % This file is part of Manopt: www.manopt.org. 0016 % Original author: Nicolas Boumal, Jan. 31, 2013. 0017 % Contributors: 0018 % Change log: 0019 0020 Y = .5*(X + multitransp(X)); 0021 0022 end