function [u,d,v]=SVDUpBidiag(B)
[m,n]=size(B);
B1=B(1:n,1:n);
C(1:n,n+1:n+n)=B1';

C(n+1:2*n,1:n)=B1;
p=GenerateShuff(n);
c1=p'*C*p;
[x,d]=eig(c1);
x1=fliplr(x);
d1=fliplr(flipud(d));
d=d1(1:n,1:n);
x1=x1(:,1:n);
x1=x1*2^(.5);
for i=1:n
    v(i,:)=x1(2*i-1,:);
    u(i,:)=x1(2*i,:);
end
d(n+1:m,1:n)=zeros(m-n,n);
u(n+1:m,n+1:m)=eye(m-n);

