Numerical Methods for Linear Control Systems
Systems and Control in the Twenty-First Century
This paper gives a very brief overview of material of the short course entitled "Numerical Methods for Linear Control Systems" delivered by Biswa Nath Datta and Daniel Boley at the MTNS '96. As with the short course, the paper has two parts. Part I, written by B. Datta deals with computational aspects of dense linear algebra problems in control theory, and part II, written by D. Boley deals with large-scale solutions. give rise to many interesting linear algebra problems. Some of the important
... nes are: controllability and observability problems, the problem of computing the exponential matrix e At , the matrix equations problems: (Lyapunov equations, Sylvester equations, the algebraic Riccati equations), the poleplacement problems, stability problems, frequency response problems, etc. These problems have been very widely studied in the literature. There exists a voluminous work both on theory and computations. Theory is very rich. Unfortunately, the same can not be remarked about computations. Many of the earlier methods were developed before the computer era, and are not based on numerically sound techniques. Fortunately, in the last twenty years or so, numerically effective techniques have been developed for most of these problems, and numerical analysis aspects of these methods (e.g. study of stability by round-off error analysis) and of the problems themselves (e.g. study of sensitivity) have been studied. The purpose of this paper is: (a) First, to point out the difficulties in computational setting associated with many important theoretical methods, (b) Second, to outline some of the best ones from numerical view points, and (c) Third, to indicate the sensitivity issues of some of the problems that are available in the literature. Because of the lack of space, this is done only for a very few selected problems and mostly just for continuous-time models. The survey is far from exhaustive. Most of the methods for the continuous-time system (0.1) have discrete counterparts. Some material of the paper has been taken from the book: Numerical Methods for Linear Control Systems Design and Analysis, currently being completed by one of the authors, Biswa Datta. The book will also have MATLAB based software implementing most of the algorithms described in the book, including algorithms for second-order control systems, not discussed in this paper. PART I: NUMERICAL METHODS FOR DENSE PROBLEMS by Biswa Nath Datta Applications (Datta (1995)) and the standard reference book in the subject: Matrix Computations (Golub and Van Loan (1989)). The recent reprint book "Numerical Linear Algebra Techniques for Systems and Control, edited by R.V. Patel, Alan J. Laub, and Paul M. Van Dooren (1993) contains most of the relevant papers. Numerical Stability, Conditioning, Accuracy, and Efficiency The numerical stability is a property of a computational algorithm, the conditioning is a property of the problem, but both have effects on the accuracy of the solution. The numerical stability of an algorithm is established by means of round-off error analysis. There are two types of stability: Forward stability and Backward stability. The backward stability is widely used in practice in numerical linear algebra. In this paper, by numerical stability, we will mean backward stability. An algorithm is said to be backward stable if the computed solution obtained by the algorithm is the exact solution of a nearby problem. For example, an algorithm for solving Ax = b is backward stable, if the computed solutionx satisfies (A + E)x = b + δb, where the matrix E and the vector δb are small in some measure. A problem (with respect to a given set of data) is said to be ill-conditioned if a small relative error in data of the problem causes a large relative error in the solution, regardless of the method used to solve the problem. Otherwise it is well-conditioned. Usually numerical analysts associate a number, called the condition number, with the problem that gives an indication of the conditioning. For example, the condition number of the linear systems problem Ax = b is Cond(A) = A A −1 . An important fact to note is that the backward stability of the algorithm does not guarantee an accurate solution. However, when backward stable algorithm is applied to a well-conditioned problem, the solution should be accurate. The condition numbers of only a few control problems have been identified. Some of them will be mentioned in this paper. Another important aspect of a numerical algorithm is its efficiency. A matrix algorithm involving computations with n × n matrices is said to be efficient if it does not require more than O(n 3 ) floating point operations (Flops). Note that an algorithm may be efficient but unstable. The Gaussian elimination algorithm without pivoting is efficient, but unstable in general.