svdcp - SVD for a Column Partitioned matrix x .
For example x is a p x q matrix, H=[q1,q2,q3] is the partition vector: q=q1+q2+q3, so that x=[x1 x2 x3] is the concatenated of 3 matrices.
The first solution then calculates 4 normed vectors: the vector u of Rp associated to the 3 vectors vi's of Rqi, i=1,2,3. by maximizing sum[(u'*xi*vi)^2], with 4 norm constraints. The value (u'*xi*vi)^2 measures the relative link between Rp and Rqi given by xi.
It corresponds to a partial squared singular value notion, since sum[(u'*xi*vi)^2]=s^2, where s is the usual first singular value of x.
The second solution is obtained from the same criterion, but after replacing each xi by xi-xi*vi*vi' And so on for the successive solutions 1,2,...,r .
The biggest number of solutions may be r=inf(p,q1,q2,q3), when the xi's are supposed with full rank; then rmax=min([min(H),p]).
The result matrices u,v and criterion have r columns.
u defines a system of r orthonormal vectors.
v defines lenght(H) systems of r orthonormal vectors.
With the example, v=[v1;v2;v3] and one has :
u'*u=v(1:q1,:)'*v(1:q1,:)=v(q1+1:q1+q2,:)'*v(q1+1:q1+q2,:)= =v(q1+q2+1:q,:)'*v(q1+q2+1:q,:)=Ir, identity with size r.
x=rand(10,20); [u,v,cri]=svdcp(x,[5,5,10],5); u'*u,v(1:5,:)'*v(1:5,:),v(6:10,:)'*v(6:10,:),v(11:20,:)'*v(11:20,:) [p,d,q]=svd(x);d(1,1)^2,sum(cri,1)
Lafosse & Hanafi (1997) in Revue de Statistique Appliquee vol.45,n.4.