least common multiple diagonal factorization
[N,D]=lcmdiag(H)
[N,D]=lcmdiag(H,flag)
:H rational matrix : :N polynomial matrix : :D diagonal polynomial matrix : :flag character string: ‘row’ or ‘col’ (default) :
[N,D]=lcmdiag(H,’row’) computes a factorization D*H=N, i.e. H=D^(-1)*N where D is a diagonal matrix with D(k,k)=lcm of kth row of H(‘den’).
[N,D]=lcmdiag(H) or [N,D]=lcmdiag(H,’col) returns H=N*D^(-1) with diagonal D and D(k,k)=lcm of kth col of H(‘den’)
s=`poly`_(0,'s');
H=[1/s,(s+2)/s/(s+1)^2;1/(s^2*(s+2)),2/(s+2)];
[N,D]=lcmdiag(H);
N/D-H