code 34287; integer procedure PSDINV(A, M, N, EM); value M, N; integer M, N; array A, EM; begin integer I; array VAL[1:N], V[1:N,1:N]; PSDINV:= I:= QRISNGVALDEC(A, M, N, VAL, V, EM); if I = 0 then PSDINVSVD(A, VAL, V, M, N, EM) end PSDINV; eop