Home > manopt > manifolds > symfixedrank > symfixedrankYYcomplexfactory.m

# symfixedrankYYcomplexfactory

## PURPOSE

Manifold of n x n complex Hermitian pos. semidefinite matrices of rank k.

## SYNOPSIS

function M = symfixedrankYYcomplexfactory(n, k)

## DESCRIPTION

``` Manifold of n x n complex Hermitian pos. semidefinite matrices of rank k.

function M = symfixedrankYYcomplexfactory(n, k)

Manifold of n-by-n complex Hermitian positive semidefinite matrices of
fixed rank k. This follows the quotient geometry described
in Sarod Yatawatta's 2013 paper:
"Radio interferometric calibration using a Riemannian manifold", ICASSP.

A point X on the manifold M is parameterized as YY^*, where
Y is a complex matrix of size nxk. For any point Y on the manifold M,
given any kxk complex unitary matrix U, we say Y*U  is equivalent to Y,
i.e., YY^* does not change. Therefore, M is the set of equivalence
classes and is a Riemannian quotient manifold C^{nk}/SU(k).
The metric is the usual real-trace inner product, that is,
it is the usual metric for the complex plane identified with R^2.

Notice that this manifold is not complete: if optimization leads Y to be
rank-deficient, the geometry will break down. Hence, this geometry should
only be used if it is expected that the points of interest will have rank
exactly k. Reduce k if that is not the case.

The geometry is based on the following papers (and references therein).
Please cite the Manopt paper as well as the research papers:

@INPROCEEDINGS{Yatawatta2013A,
author={Yatawatta, S.},
booktitle={Acoustics, Speech and Signal Processing (ICASSP), 2013 IEEE International Conference on},
title={Radio interferometric calibration using a {R}iemannian manifold},
year={2013},
month={May},
pages={3866--3870},
doi={10.1109/ICASSP.2013.6638382},
ISSN={1520-6149},
}

@article{Yatawatta2013B,
author = {Yatawatta, S.},
title = {On the interpolation of calibration solutions obtained in radio interferometry},
volume = {428},
number = {1},
pages = {828--833},
year = {2013},
doi = {10.1093/mnras/sts069},
journal = {Monthly Notices of the Royal Astronomical Society}
}

## CROSS-REFERENCE INFORMATION

This function calls:
• hashmd5 Computes the MD5 hash of input data.
• matrixlincomb Linear combination function for tangent vectors represented as matrices.
This function is called by:

## SOURCE CODE

```0001 function M = symfixedrankYYcomplexfactory(n, k)
0002 % Manifold of n x n complex Hermitian pos. semidefinite matrices of rank k.
0003 %
0004 % function M = symfixedrankYYcomplexfactory(n, k)
0005 %
0006 % Manifold of n-by-n complex Hermitian positive semidefinite matrices of
0007 % fixed rank k. This follows the quotient geometry described
0008 % in Sarod Yatawatta's 2013 paper:
0009 % "Radio interferometric calibration using a Riemannian manifold", ICASSP.
0010 %
0012 %
0013 % A point X on the manifold M is parameterized as YY^*, where
0014 % Y is a complex matrix of size nxk. For any point Y on the manifold M,
0015 % given any kxk complex unitary matrix U, we say Y*U  is equivalent to Y,
0016 % i.e., YY^* does not change. Therefore, M is the set of equivalence
0017 % classes and is a Riemannian quotient manifold C^{nk}/SU(k).
0018 % The metric is the usual real-trace inner product, that is,
0019 % it is the usual metric for the complex plane identified with R^2.
0020 %
0021 % Notice that this manifold is not complete: if optimization leads Y to be
0022 % rank-deficient, the geometry will break down. Hence, this geometry should
0023 % only be used if it is expected that the points of interest will have rank
0024 % exactly k. Reduce k if that is not the case.
0025 %
0026 % The geometry is based on the following papers (and references therein).
0027 % Please cite the Manopt paper as well as the research papers:
0028 %
0029 % @INPROCEEDINGS{Yatawatta2013A,
0030 %  author={Yatawatta, S.},
0031 %  booktitle={Acoustics, Speech and Signal Processing (ICASSP), 2013 IEEE International Conference on},
0032 %  title={Radio interferometric calibration using a {R}iemannian manifold},
0033 %  year={2013},
0034 %  month={May},
0035 %  pages={3866--3870},
0036 %  doi={10.1109/ICASSP.2013.6638382},
0037 %  ISSN={1520-6149},
0038 % }
0039 %
0040 % @article{Yatawatta2013B,
0041 %  author = {Yatawatta, S.},
0042 %  title = {On the interpolation of calibration solutions obtained in radio interferometry},
0043 %  volume = {428},
0044 %  number = {1},
0045 %  pages = {828--833},
0046 %  year = {2013},
0047 %  doi = {10.1093/mnras/sts069},
0048 %  journal = {Monthly Notices of the Royal Astronomical Society}
0049 % }
0050 %
0052
0053
0054 % This file is part of Manopt: www.manopt.org.
0055 % Original author: Sarod Yatawatta, June 29, 2015.
0056 % Contributors: Bamdev Mishra.
0057 % Change log:
0058 %
0059 %   June 28, 2016 (NB):
0060 %       Metric scaled down by factor 2 to match the metric used in
0061 %       euclideancomplexfactory.
0062
0063     M.name = @() sprintf('YY'' quotient manifold of Hermitian %dx%d complex matrices of rank %d.', n, n, k);
0064
0065     M.dim = @() 2*k*n - k*k; % SY: dim of ambient space (2*k*n) - dim of kxk unitary matrix  (k^2).
0066
0067     % Euclidean metric on the total space.
0068     % BM: equivalent to real(trace(eta'*zeta)), but more efficient.
0069     M.inner = @(Y, eta, zeta) real(eta(:)'*zeta(:));
0070
0071     M.norm = @(Y, eta) sqrt(M.inner(Y, eta, eta));
0072
0073     % Find unitary U to minimize ||Y - Z*U||,
0074     % i.e., the Procrustes problem, with svd(Y'*Z).
0075     M.dist = @(Y, Z) distance;
0076     function distval = distance(Y, Z)
0077         [u, ignore, v] = svd(Z'*Y); %#ok<ASGLU>
0078         E = Y - Z*u*v'; % SY: checked.
0079         distval = real(E(:)'*E(:));
0080     end
0081
0082     M.typicaldist = @() 10*k; % BM: To do.
0083
0084     M.proj = @projection;
0085     function etaproj = projection(Y, eta)
0086         % Projection onto the horizontal space
0087         xx = Y'*Y;
0088         rr = Y'*eta - eta'*Y;
0089         Omega = lyap(xx, -rr);
0090         etaproj = eta - Y*Omega;
0091     end
0092
0093     M.tangent = M.proj;
0094     M.tangent2ambient = @(Y, eta) eta;
0095
0096     M.retr = @retraction;
0097     function Ynew = retraction(Y, eta, t)
0098         if nargin < 3
0099             t = 1.0;
0100         end
0101         Ynew = Y + t*eta;
0102     end
0103
0104
0106     M.ehess2rhess = @(Y, egrad, ehess, U) M.proj(Y, ehess);
0107
0108
0109     M.exp = @exponential;
0110     function Ynew = exponential(Y, eta, t)
0111         if nargin < 3
0112             t = 1.0;
0113         end
0114
0115         Ynew = retraction(Y, eta, t);
0116         warning('manopt:symfixedrankYYcomplexfactory:exp', ...
0117             ['Exponential for symmetric fixed-rank complex ' ...
0118             'manifold not implemented yet. Used retraction instead.']);
0119     end
0120
0121     % Notice that the hash of two equivalent points will be different...
0122     M.hash = @(Y) ['z' hashmd5([real(Y(:)); imag(Y(:))])];
0123
0124     M.rand = @random;
0125     function Y = random()
0126         Y = randn(n, k) + 1i*randn(n,k);
0127     end
0128
0129     M.randvec = @randomvec;
0130     function eta = randomvec(Y)
0131         eta = randn(n, k) + 1i*randn(n,k);
0132         eta = projection(Y, eta);
0133         nrm = M.norm(Y, eta);
0134         eta = eta / nrm;
0135     end
0136
0137     M.lincomb = @matrixlincomb;
0138
0139     M.zerovec = @(Y) zeros(n, k);
0140
0141     M.transp = @(Y1, Y2, d) projection(Y2, d);
0142
0143     M.vec = @(Y, u_mat) [real(u_mat(:)); imag(u_mat(:))];
0144     M.mat = @(Y, u_vec) reshape(u_vec(1 : n*k), [n, k]) + 1i*reshape(u_vec(n*k + 1: end), [n, k]);
0145     M.vecmatareisometries = @() true;
0146
0147 end```

Generated on Sat 12-Nov-2016 14:11:22 by m2html © 2005