There was a typo in the example file of SingularValue. You can create a new function with the following code. The only change I made is to move "info" to output and outside the protected scope.
function mysingularValues "Compute singular values and left and right singular vectors"
extends Modelica.Icons.Function;
input Real A[:,:] "Matrix";
output Real sigma[min(size(A, 1), size(A, 2))] "Singular values";
output Real U[size(A, 1),size(A, 1)]=identity(size(A, 1)) "Left orthogonal matrix";
output Real VT[size(A, 2),size(A, 2)]=identity(size(A, 2)) "Transposed right orthogonal matrix ";
output Integer info;
protected
Integer n=min(size(A, 1), size(A, 2)) "Number of singular values";
algorithm
if n > 0 then
(sigma,U,VT,info):=Modelica.Math.Matrices.LAPACK.dgesvd(A);
assert(info == 0, "The numerical algorithm to compute the
singular value decomposition did not converge");
end if;
end mysingularValues;
And the following sample model should give you a correct result:
model test
Real q[2,2]={{1,3},{9,8}};
Real a[2];
Real b[2,2];
Real c[2,2];
Integer d;
algorithm
(a,b,c,d):=mysingularValues(q);
end test;