%
%   version 29.07.03
%
function  DPiDm_t= cal_DPiDm_t(daefile,xfunction,t,s_A,s_D,s_B,z0,threshold,fid,level,rank_vec,argx,varargin);
global rank_ok;
fprintf(fid,'%s\n','in cal_DPiDm_t');
%tresh(1)=sqrt(eps);
tresh(1)=1;
%'in cal_DPiDm_t'
t0=t;
%[z,fac]=numjac('cal_DPiDm',0,t,z0,tresh,[],0,[],[],daefile,...
[z]=numjac('cal_DPiDm',0,t,z0,tresh,[],0,[],[],daefile,...
       xfunction,t0,s_A,s_D,s_B,threshold,fid,level,rank_vec,argx,varargin{:});
n=sqrt(length(z));
DPiDm_t=zeros(n,n);
for i=0,n-1;
  DPiDm_t(:,i+1)=z(i*n+1:(i+1)*n);
end;
if rank_ok==1
    normvalue=norm(DPiDm_t,1);
    fprintf(fid,'\n%s\n\n',['norm (DP0...PlD-)'' = ',num2str(normvalue),', l = ',num2str(level-1)]);
    if (normvalue ~= 0)
        print_mat(fid,['Chain level i: ',num2str(level-1),'  DP0...PiDm'' ='],DPiDm_t);
    end;
end;
fprintf(fid,'%s\n','out cal_DPiDm_t');
