Zvonimir Bujanovic, and Zlatko Drmac

SLICOT Working Note 2010-1: January 2010.

Since numerical libraries are used in engineering design in a variety of industrial applications, it is important that their numerical reliability is the top priority of both the developers of numerical algorithms and users from industry. Following that principle, we have examined a state of the art control library (case study: SLICOT) with respect to use of rank revealing subroutines in computing various canonical decompositions of linear time invariant systems. This issue seems to be critical, with potential for causing numerical catastrophes, because the deployed rank revealing code is prone to severe instabilities, causing completely wrongly computed parameters of systems under analysis. We analyze the SLICOT library in detail and propose modifications of critical parts of the code, based on our recent work published in the ACM Trans. Math. Softw. 35, 2008, where we analyze and solve the problem. The proposed modifications increase numerical reliability of all of the sixty affected subroutines. We recommend that the developers of other control theory numerical libraries examine their codes with respect to the issue discussed in this paper.