function assignPolesMI_rob_old
extends Modelica.Icons.Function;
import Modelica.ComplexMath;
import Modelica_LinearSystems2.ComplexMathAdds;
import Modelica_LinearSystems2.ComplexMathAdds.Internal.C_transpose;
import Modelica_LinearSystems2.StateSpace;
import Modelica_LinearSystems2.Math.Matrices;
import Re = Modelica.ComplexMath.real;
import Im = Modelica.ComplexMath.imag;
import Modelica.Utilities.Streams.print;
input Real A[:, size(A, 1)] "system matrix";
input Real B[size(A, 1), :] "control input matrix";
input Complex gamma[size(A, 1)];
input Boolean IniX = false "Initial values of X are provided";
input Complex Xini[size(A, 1), size(A, 1)] = fill(Complex(0), size(A, 1), size(A, 1)) "Initial values of the eigenvectors X";
output Real K[size(B, 2), size(A, 1)] "feedback matrix";
output Complex evX[:, :] "eigen vectors of the closed loop system";
encapsulated record subSpace
import Modelica;
import Complex;
import Modelica_LinearSystems2;
extends Modelica.Icons.Record;
Complex S[:, :];
end subSpace;
end assignPolesMI_rob_old;