Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Português - 日本語

Please note that the recommended version of Scilab is 6.0.0. This page might be outdated.
See the recommended documentation of this function

Aide Scilab >> CACSD > trzeros


transmission zeros and normal rank

Calling Sequence




linear system (syslin list)


complex vectors


real vector


integer (normal rank of Sl)


Called with one output argument, trzeros(Sl) returns the transmission zeros of the linear system Sl.

Sl may have a polynomial (but square) D matrix.

Called with 2 output arguments, trzeros returns the transmission zeros of the linear system Sl as tr=nt./dt;

(Note that some components of dt may be zeros)

Called with 3 output arguments, rk is the normal rank of Sl

Transfer matrices are converted to state-space.

If Sl is a (square) polynomial matrix trzeros returns the roots of its determinant.

For usual state-space system trzeros uses the state-space algorithm of Emami-Naeni and Van Dooren.

If D is invertible the transmission zeros are the eigenvalues of the "A matrix" of the inverse system : A - B*inv(D)*C;

If C*B is invertible the transmission zeros are the eigenvalues of N*A*M where M*N is a full rank factorization of eye(A)-B*inv(C*B)*C;

For systems with a polynomial D matrix zeros are calculated as the roots of the determinant of the system matrix.

Caution: the computed zeros are not always reliable, in particular in case of repeated zeros.


W1=ssrand(2,2,5);trzeros(W1)    //call trzeros
roots(det(systmat(W1)))         //roots of det(system matrix)
roots(St1(rowf,colf)), nt./dt     //By Kronecker form

See Also

  • gspec — valeurs propres d'un faisceau de matrices (obsolete)
  • kroneck — Kronecker form of matrix pencil
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Wed Oct 05 12:10:55 CEST 2011