The name of the Scilab function is contr. Its input is a list representing a linear system given by its state representation and a tolerance. Its return is a scalar (for instance the dimension of the controllable subspace).
The name of the corresponding Fortran subroutine is contr and its arguments are the dimension of the state of the system (used as input), the number of inputs of the system (used as input), the state matrix of the system (used as input), the input matrix of the system (used as input), an integer giving the dimension of the controllable subspace (used as output), and the tolerance (used as input).
The description file is the following:
contr sys tol tol scalar sys list lss icontr scalar contr nstate(sys) nin(sys) a(sys) b(sys) icontr tol a(sys) double b(sys) double tol double nstate(sys) integer nin(sys) integer icontr integer out sequence icontr ******************************
The type of the list is lss and a file describing the list lss.list is needed. It is shown below:
1 type type string 3 ****************************** 2 state matrix a matrix nstate nstate ****************************** 3 input matrix b matrix nstate nin ****************************** 4 output matrix c matrix nout nstate ****************************** 5 direct tranfer matrix d matrix nout nin ****************************** 6 initial state x0 column nstate ****************************** 7 time domain t any ******************************
The number of the elements is not compulsory in the comment describing the elements of the list but is useful.