function xBase
import Modelica_LinearSystems2;
import Complex;
import Re = Modelica.ComplexMath.real;
import Im = Modelica.ComplexMath.imag;
input Real A[:, size(A, 1)] "Real square system matrix";
input Real B[size(A, 1), :] "Real input matrix";
input Complex gamma[size(A, 1)] "Assigned complex eigenvalues";
input Integer ncp "Number of complex pairs of eigenvalues";
output Real U0[size(A, 1), size(B, 2)] "U0 and Z are the decompositions of B";
output Real Z[size(B, 2), size(B, 2)] "Z and U0 are the decompositions of B";
output Complex S[size(A, 1), (size(A, 1) - ncp)*size(B, 2)] "Eigenvector bases";
output Integer rankB;
end xBase;