<<

Technische Universitat

DFGForschergruppe SPC Fakultatf urMathematik

Peter Benner Alan J Laub Volker Mehrmann

A Collection of Benchmark Examples for

the Numerical Solution of Algebraic

Riccati Equations I I

DiscreteTime Case

PreprintReihe der Chemnitzer DFGForschergruppe

Scientic Parallel Computing

SPC Dezember

A Collection of Benchmark Examples for the Numerical

Solution of Algebraic Riccati Equations I I

DiscreteTime Case

y

Peter Benner Alan J Laub Volker Mehrmann

Abstract

This is the second part of a collection of b enchmark examples for the numerical solution

of algebraic Riccati equations After presenting examples for the continuoustime case

in Part I our concern in this pap er is discretetime algebraic Riccati equations This

collection may serve for testing purp oses in the construction of new numerical metho ds

but may also b e used as a reference set for the comparison of metho ds

Introduction

We present a collection of examples for discretetime algebraic Riccati equations DARE of

the form

T T T 1 T T

A XA X A XB S R B XB B XA S Q

nn nm mm

T T

where A Q X IR B S IR and R R IR The matrix Q Q may b e

pn pp

T T

given in factored form Q C QC with C IR and Q Q IR

As it will b e describ ed b elow can b e solved using its relationship to the symplectic p encil

dened by

I G

A

n

L M

T

A

Q I

n

where

1 T

A A BR S

1 T

G BR B

1 T T 1 T

Q Q SR S C QC SR S

Fakultat f ur Mathematik Technische Universitat ChemnitzZwickau Chemnitz FRG email

bennermathematiktuchemnitzde mehrmannmathematiktuchemnitzde These authors have b een sup

p orted by Deutsche Forschungsgemeinschaft research grant Me Singulare Steuerungsprobleme

y

Department of Electrical and Computer Engineering University of California Santa Barbara CA

email laubeceucsbedu This author has b een supp orted by National Science Foundation Grant

ECS and Air Force Oce of Scientic Research Grant FDEF

If A is invertible this p encil is equivalent to the symplectic matrices

T T

A GA Q GA

1

Z M L

T T

A Q A

T

A AGA

1

or Z LM

T T

Q QGA A

The DARE arises eg in a sto chastic realization problems and b linearquadratic

control problems In case a R is the measurement noise covariance and it is not uncommon

for this kind of matrix to b e singular For b R is the control weighting matrix and in the

discretetime case o ccasionally such a matrix can b e singular to o In these cases the p encil

formulation is not p ossible An extended symplectic pencil ESP can then b e formed by

I A B

n

T

A Q I S L M

n

T T

B S R

To illustrate a problem where the DARE arises we consider the discretetime linear

quadratic control problem case b from ab ove

Minimize

X

T T T

J x u dt y Qy x S u u Ru

0 k k k

k k k

k =0

subject to the dierence equation

x Ax B u k x

k +1 k k 0

y C x k

k k

1 2

If for example Q R A B stabilizable and A C detectable then the solution

of the optimal control problem is given by the feedback law

T 1 T T

u R B XB A XB S x k

k k

where X is the unique stabilizing p ositive semidenite solution of see eg

One common approach to solve is to compute the stable invariant subspace of the sym

plectic matrix Z or the stable deating subspace of the extended symplectic p encil given

ab ove ie the invariantdeating subspace corresp onding to the generalized eigenvalues of

L M L M resp ectively inside the unit circle eg If this subspace is

spanned by

U gn

1

U gn

1

U or gn resp ectively

2

gn U

2

gm U

3

1

and U is invertible then X U U is the stabilizing solution of ie all the eigenvalues

1 2

1

of

T 1 T T

F A B R B XB A XB S

lie inside the unit circle

1

A B is dstabilizable if rank A I B n for all with jj

2 T T

AC is ddetectable if A C is dstabilizabl e

At this p oint it should b e noted that it is p ossible to transform a continuoustime algebraic

Riccati equation CARE into a DARE and vice versa via a generalized Cayley trans

formation ie the Hamiltonian matrix corresp onding to the CARE is transformed into a

symplectic matrixp encil From this symplectic p encil it is p ossible to derive the co ecient

matrices of a corresp onding DARE under certain regularity assumptions see In this

way it is p ossible to obtain DARE examples from the rst part of our b enchmark collection

We do not use this approach here though and restrict ourselves to data arising naturally in

a discretetime setting andor highlighting some of the prop erties of discretetime algebraic

Riccati equations

nn

In the sequel we will use the following notation Let A IR By A we denote the set

of eigenvalues or sp ectrum of A The sp ectral norm of a matrix is given by

q

T

jjAjj maxfjj A Ag

and the given matrix condition numbers are based up on the sp ectral norm

1

A jjAjjjjA jj

The Frobenius norm of a matrix will b e denoted by jjAjj and is given by

F

v

u

n

X

u

2

t

a jjAjj

F

ij

ij =1

3

All norms and condition numbers given in the sequel were computed by the MATLAB

functions norm and cond

The examples are group ed in three sections The rst section contains parameterfree ex

amples of xed dimension while the second has parameterdep endent problems of xed size

Section contains examples of scalable size

The co ecient matrices of the presented examples are usually given in the same form as they

app ear in the literature Since in most cases S we omit S in all examples where this

prop erty holds

All presented examples may b e generated by the FORTRAN subroutine DAREX see

App endix A and the MATLAB function darex see App endix B App endix C describ es

how to obtain the software

The description of each example contains a table with some of the system prop erties This

information is summarized in App endix D For all parameters needed in the examples there

exist default values that are also given in the tables These default values are chosen in such

a way that the collection of examples can b e used as a testset for the comparison of metho ds

The tables contain information for one or more choices of the parameters Underlined values

indicate the default values

For each example we provide the condition number A which shows if the symplectic

matrix Z in can b e formed safely though it is still favorable to use the p encil approach

1 C

and thereby avoiding a matrix inversion unless A is easy to form The column j j

max

indicates the absolute value of the closedlo op eigenvalue of largest mo dulus ie

C

j j maxf jj F g

max

3

MATLAB is a trademark of The MathWorks Inc

with F as in These are the generalized eigenvalues of the symplectic matrix p encils

in and inside the unit circle Further we give norms and condition numbers of

the stabilizing solution X For examples without analytical solution available we computed

approximations by the generalized Schur vector metho d If p ossible these approxima

tions were rened by Newtons metho d to achieve the highest p ossible accuracy

We then chose the approximate solution with smallest residual norm and recomputed the

solution using the optimal scaling strategy prop osed in This computed solution was

then used to determine the prop erties of the example

The right condition number of algebraic Riccati equations is still an op en problem although

the problem has b een attacked by several pap ers during recent years see eg

For simplicity here we use the condition number prop osed in This condition

number measures the sensitivity of the stabilizing DARE solution with resp ect to rstorder

p erturbations by means of the Frechet derivative of the DARE at X In it is shown that

assuming Q R the so dened condition number is given by

jj Z Z Z jj

1 2 3

K

D ARE

jjX jj

F

where

1 T T

Z jjAjj P I F X F X I T

1 F n n

T 1 T 1 1

A X I GX A X I GX Z jjGjj P

n n 2 F

1

Z jjQjj P

3 F

Here denoting the j th unit vector by e the p ermutation matrix T is dened by

j

n

X

T T

T e e e e

j i

i j

ij =1

and P is the matrix representation of the Stein discrete Lyapunov op erator

T

Z Z F Z F

The computation of K therefore requires the solution of the linear equations

D ARE

Since Kronecker pro ducts are involved these systems get very large even for small numbers

of n For larger n an inverse p ower iteration can b e employed to estimate jj Z Z Z jj

1 2 3 F

see This approach requires in each iteration step the solution of two Stein equations

corresp onding to

Parameterfree problems of xed size

Example Example

C

n m p parameter A j j jjX jj X K

D ARE

max

This is an example of stabilizabledetectable but uncontrollableunobservable data We have the

following system matrices

A B R Q

9 7

2 2

with stabilizing solution

p

5 1+

X

2

p

g and closedlo op sp ectrum f

Example Example Example

C

n m p parameter A j j jjX jj X K

D ARE

max

2

This example illustrates a linearquadratic control problem as dened by The co ecient

matrices are

A B

1

3

Q R

In solution matrices are given We omit repro ducing them here since they are not derived

analytically

Example Example I I

C

n m p parameter A j j jjX jj X K

D ARE

max

This example was used in to demonstrate a compression technique for the extended p encil

The data are given by

A B Q R

If interpreted in terms of a linear system as in Q can b e written as

T

Q C QC C Q

The exact stabilizing solution is X I and the closedlo op sp ectrum is f g Due to the singularity

2

of R the condition number K is not dened here represented by a value in the table

D ARE

This example can b e used eg as a rst test of any solver to deal with a singular weightingmeasure

ment noise covariance matrix

Example

C

n m p parameter A j j jjX jj X K

D ARE

max

3

This is another example with a singular Rmatrix Furthermore we have a nonzero S matrix The

co ecients of are given by

A B R

Q S

Again the DARE condition number K can not b e computed due to the singular R

D ARE

Example Example

C

j n m p parameter A j jjX jj X K

D ARE

max

This example shows one of the ma jor dierences b etween the prop erties of continuoustime algebraic

Riccati equations and their discrete counterparts Consider the DARE dened by

A B Q R

p

g The DARE has exactly two The sp ectrum of the p encil L M in is f

solutions

p p

X X

1 2

but neither of them is negative semidenite On the other hand A B is controllable In the case of

a continuoustime system this prop erty would assure the existence of a negative semidenite solution

The stabilizing solution in the controltheoretic sense is the p ositive denite solution X

1

Example

C

n m p parameter A j j jjX jj X K

D ARE

max

The data of this example represent a simple control problem for a satellite The system is given

by equations describing the small angle altitude variations ab out the roll and yaw axes of a satellite

in circular orbit These equations originally form a secondorder dierential equation A rstorder

realization of this mo del and sampling every seconds yields the system matrices

A B

The weighting matrices used in the p erformance index J x u in are given by

0

Q Q R I

2

Example

C

n m p parameter A j j jjX jj X K

D ARE

max

This is a simple example of a control system having slow and fast mo des

3

A

4

B R I Q I

2 4

One complex conjugate pair of the computed closedlo op eigenvalues is lo cated on a circle with radius

around the origin ie is relatively close to the unit circle Requiring that this distance should

not cause any problems for any DARE solver seems to b e reasonable

Example Example

C

n m p parameter A j j jjX jj X K

D ARE

max

5 11 4

Here the co ecient matrices of are constructed as follows Given

A Q

0 0

1

V V

we obtain

1

A VA V B VI V

0 4

T 1

Q V Q V R I

0 4

T 1

A factorization in the controltheoretic sense Q C QC is therefore given by C V and

Q Q

0

All the generalized eigenvalues of L M are real The distance of the largest closedlo op eigenvalue to

5 11

the unit circle is The problem is designed so that L M Due to this large

condition number and the eigenvalues close to the unit circle problems with the convergence of the

iteration pro cess are to b e exp ected when the DARE is solved via a metho d based on the sign function

iteration eg the metho ds in Note that K signals only a very mild illconditioning of

D ARE

the DARE

Example Section

C

n m p parameter A j j jjX jj X K

D ARE

max

The fthorder linearized statespace mo del of a chemical plant presented in is discretized

by sampling every seconds yielding a discretetime linearquadratic control problem of the form

dened by

4 4

A B

The weighting matrices in the cost functional are chosen as identities ie we have Q Q I

5

and R I

2

If we mo dify the optimal control problem by allowing the observation to dep end up on

the control we obtain the following problem

Minimize

X

T T

J x u dt Ru Qy u y

0 k k

k k

k =0

subject to the dierence equation

x Ax B u k x

k +1 k k 0

y C x D u k

k k k

then we can rewrite the cost functional as

X

T T T T T

J x u x Qx x S u u S x u Ru dt

0

k =0

T T T

QD QD and S C QC R R D where Q C

The data of the following example come from such a problem

Example

C

n m p parameter A j j jjX jj X K

D ARE

max

The matrices of the linear system A B C D are given by

A B

C D

With Q R I we obtain the following co ecient matrices for the DARE A B C Q are dened

2

ab ove and

T

Q C QC R S

The system prop erties are go o dnatured The system can easily b e transformed to a standard system

as in Therefore this example is helpful for rst verications of any DARE solver based on the

extended formulation given in since the results can b e compared to those obtained by any other

solver based on the formulation by the symplectic p encil

Example

C

n m p parameter A j j jjX jj X K

D ARE

max

6

This is the data for a thorder discrete statespace mo del of a tubular ammonia reactor It should b e

noted that the underlying mo del includes a disturbance term which is neglected in this context

The continuous statespace mo del of this problem was presented as Example in the rst part of

the b enchmark collection Sampling every seconds yields the following system matrices for the

discrete mo del

2

A

T 4

B

In the discrete mo del only the rst and fth state variables are used as outputs ie

C

and the weighting matrices are chosen as Q I and R I

2 3

Parameterdependent problems of xed size

Example

C

n m p parameter A j j jjX jj X K

D ARE

max

4 4

6 12 12

Here the matrix A has a parameter and the co ecient matrices of the DARE are

A B R Q I

2

The stabilizing solution is given by

X

2

and the closedlo op sp ectrum is f g

For this is Example from As this b ecomes an example of a DARE which is

badly scaled in the sense of due to the fact that jjAjj jjGjj jjQjj Obviously the norm and

F F F

2

condition of the stabilizing solution X grow like whereas the DARE condition number K

D ARE

remains constant

Example

C

n m p parameter A j j jjX jj X K

D ARE

max

6 6

This example is constructed as follows Let

T T

A diag V I v v v

0

Then

I Q I A VA V G

3 3 0

T

QC can b e obtained by setting C V and Q Q a factorization G A factorization Q C

1 T

BR B is given by B I and R This is used in b oth the FORTRAN and MATLAB

3

implementations if a factored form is required

As solution we get

X V diagx x x V

1 2 3

where

x

1

p

x

2

p

x

3

p p

The closedlo op sp ectrum is given by and

1 2 3

For growing the corresp onding symplectic p encil b ecomes more and more badly scaled which leads

to a signicant loss of accuracy in all DARE solvers based on eigenvalue metho ds This demonstrates

the need to use an appropriate scaling as prop osed in

Example

C

j n m p parameter A j jjX jj X K

D ARE

max

2

D

K r

p

8 8 7 7 8

D

K r

6 7 12

D

K r

The following system describ es a very simple pro cess control of a pap er machine The continuoustime

mo del with a time delay is sampled at intervals of length D which yields a singular transition matrix

A The time delay is equal to the length of three sampling intervals The other parameters dening

the system are a rstorder time constant and the steadystate gain K The linear system is

then given by

K D D

C B A

The weighting matrices used in this example are R r and Q Dening

D KD

it can b e shown that the solutions of the DARE are given by

X diag x

i

where x i solve the scalar quadratic equation

i

2 2

2 2

x x

2

r x

whence

q

2

2 2

2 2 2

r r x r

i

2

The stabilizing p ositive semidenite solution of is thus dened by the unique p ositive solution x

1

of and the closedlo op eigenvalues are

D r r

2 3 4 1

2 2 2

r x r DK x

1 1

Due to the variety of parameters in this example it is p ossible to investigate DAREs with critical

prop erties in many asp ects Since these prop erties merely rely on and r these eects can b e

C

pro duced by keeping K and D constant and varying and r Since j j for D K the

1

max

largest closedlo op eigenvalue approaches the unit disk For D K the norm and condition of X

b ecome large and the DARE b ecomes ill conditioned with resp ect to K

D ARE

Examples of scalable size

Example Example

C

n m p parameter A j j jjX jj X K

D ARE

max

n n n r

n r

Consider the DARE dened by

nn

A IR B R r Q I

n

The stabilizing solution has a very simple form namely

X diag n

The closedlo op eigenvalues are all zero that is the sp ectrum of the symplectic p encil L M in

is given by the generalized eigenvalues and

1 n n+1 2n

This example can b e used to test any DARE solver for growing dimension of the problem The DARE

condition number K increases only slowly and for any order of the DARE jjX jj X n

D ARE

Note further that the choice of r do es not inuence the stabilizing solution X but for r the

condition number K b ehaves like r

D ARE

A The FORTRAN subroutine DAREX

This is the prolog of a FORTRAN subroutine for generating all presented examples The

4

subroutine was do cumented according to standards for SLICOT

Besides calls to LAPACK and BLAS DAREX calls the subroutines SPSY and SYSP

which are used to convert symmetric matrices from general storage mo de to packed storage

mo de and vice versa These subroutines are provided together with darexf If you have no

access to LAPACK and BLAS please contact the authors

For some of the examples DAREX reads the data from data les delivered together with

darexf These are Examples and The corresp onding data les in ASCI I format are

DAREXDAT DAREXDAT DAREXDAT DAREXDAT and DAREXDAT

Note that the references given in the prolog of DAREX refer to those given at the end of the

prolog and do not corresp ond to the references of this pap er

SUBROUTINE DAREXNO N M P NPAR DPARAM A LDA B LDB C

LDC Q LDQ R LDR S LDS X LDX NOTE

STORE WITHC WITHG WITHS RWORK IERR

C

C PURPOSE

C

C To generate the benchmark examples for the numerical solution of

C the discretetime algebraic Riccati equation DARE

C

C T T T T T

C A X A X A X B S R B X B B X A S Q

C

C as presented in Here AQX are real NbyN matrices BS are

C NbyM and R is MbyM The matrices Q and R are symmetric and Q

C may be given in factored form

C

C T

C I Q C Q C

C

C Here C is PbyN and Q is PbyP If R is nonsingular the DARE

C can be rewritten equivalently as

C

C

C X A X In G X A Q

C

C where In is the NbyN identity matrix and

C

C T

C II G B R B

C

4

Subroutine LIbrary in COntrol and Systems Theory

C ARGUMENT LIST

C ARGUMENTS IN

C

C NO INTEGER

C The number of the benchmark example to generate according

C to

C

C N INTEGER

C This integer determines the actual state dimension ie

C the order of the matrix A as follows

C N is fixed for the examples of Sections and of

C ie currently Examples

C NOTE that N is overwritten for Examples and for the

C other examples if N is set by default

C

C M P INTEGER

C M is the number of columns in the matrix B and the order

C of the matrix R in control problems the number of

C inputs of the system

C P is the number of rows in the matrix C from I in

C control problems the number of outputs of the system

C Currently M and P are fixed or determined by N for all

C examples and thus are not referenced on input

C NOTE that M and P are overwritten and M LE N and

C P LE N for all examples

C

C NPAR INTEGER

C Number of input parameters supplied by the user

C Examples Section of have no parameters

C Examples Section of each have one DOUBLE

C PRECISION parameter which may be supplied in DPARAM

C Example has DOUBLE PRECISION parameters which may

C be supplied in DPARAM DPARAM

C Example has one INTEGER parameter which determines the

C size of the problem This parameter may be supplied in

C the input argument N Besides this example has one

C DOUBLE PRECISION parameter which may be supplied in

C DPARAM

C If the input value of NPAR is less than the number of

C parameters of the Example NO according to the

C missing parameters are set by default

C

C DPARAM DOUBLE PRECISION array of DIMENSION at least ndp

C Double precision parameter vector where ndp is the

C number of DOUBLE PRECISION parameters of Example NO

C according to For all examples ndp For

C explanation of the parameters see

C DPARAM defines the parameters epsilon for the

C examples in Section NO the parameter tau

C for NO and the parameter r for NO

C For Example DPARAM DPARAM define in

C consecutive order D K and r

C If NPAR is smaller than the number of used parameters in

C Example NO as described in default values are

C used and returned in corresponding components of DPARAM

C NOTE that those entries of DPARAM are overwritten which

C are used to generate the example but were not supplied by

C the user

C

C LDA INTEGER

C The leading dimension of array A as declared in the

C calling program

C LDA GE N where N is the order of the matrix A ie

C the output value of the integer N

C

C LDB INTEGER

C The leading dimension of array B as declared in the

C calling program

C LDB GE N output value of N

C

C LDC INTEGER

C The leading dimension of array C as declared in the

C calling program

C LDC GE P where P is either defined by default or

C depends upon N For all examples P LE N where N is

C the output value of the argument N

C

C LDQ INTEGER

C If full storage mode is used for Q ie STORE F

C or f then Q is stored like a dimensional array

C with leading dimension LDQ If packed symmetric storage

C mode is used then LDQ is not referenced

C That is if STORE F or STORE f then

C LDQ GE N if WITHC FALSE

C LDQ GE P if WITHC TRUE

C

C LDR INTEGER

C If full storage mode is used for the array R ie

C STORE F or f then R is stored like a dimensional

C array with leading dimension LDR If packed symmetric

C storage mode is used then LDR is not referenced

C That is if STORE F or STORE f then

C LDR GE M if WITHG FALSE

C LDR GE N if WITHG TRUE

C

C LDS INTEGER

C The leading dimension of array S as declared in the

C calling program

C LDS GE N if S is to be returned see MODE PARAMETER

C WITHS Otherwise LDS is not referenced

C

C LDX INTEGER

C The leading dimension of array X as declared in the

C calling program

C LDX GE N if an exact solution is available Examples

C Otherwise X is not referenced

C

C ARGUMENTS OUT

C

C N INTEGER

C The order of the matrix A

C

C M INTEGER

C The number of columns of matrix B and the order of the

C matrix R

C

C P INTEGER

C The number of rows of the matrix C from I

C

C DPARAM DOUBLE PRECISION array of DIMENSION at least

C Double precision parameter vector For explanation of the

C parameters see

C DPARAM defines the parameters epsilon for the

C examples in Section NO the parameter tau

C if NO and the parameter r if NO

C For Example DPARAM DPARAM define in

C consecutive order D K and r

C

C A DOUBLE PRECISION array of DIMENSION LDAN

C The leading N by N part of this array contains the

C coefficient matrix A of the DARE

C

C B DOUBLE PRECISION array of DIMENSION LDBM

C If WITHG FALSE then array B contains the coefficient

C matrix B of the DARE

C Otherwise B is used as workspace

C

C C DOUBLE PRECISION array of DIMENSION LDCN

C If WITHC TRUE then array C contains the matrix C of

C the factored form I of Q

C Otherwise C is used as workspace

C

C Q DOUBLE PRECISION array of DIMENSION at least qdim

C If STORE F or f then qdim LDQnq

C If STORE U u L or l then qdim nqnq

C If WITHC FALSE then nq N and the array Q

C contains the coefficient matrix Q of the DARE

C If WITHC TRUE then nq P and the array Q contains

C the matrix Q from I

C The symmetric matrix contained in array Q is stored

C according to MODE PARAMETER STORE

C

C R DOUBLE PRECISION array of DIMENSION at least rdim

C If STORE F or f then rdim LDRnr

C If STORE U u L or l then rdim nrnr

C If WITHG FALSE then nr M and the array R

C contains the coefficient matrix R of the DARE

C If WITHG TRUE then nr N and the array R contains

C the matrix G from II

C The symmetric matrix contained in array R is stored

C according to MODE PARAMETER STORE

C

C X DOUBLE PRECISION array of DIMENSION LDXxdim

C If an exact solution is available NO

C then xdim N and the leading NbyN part of this array

C contains the solution matrix X Otherwise X is not

C referenced

C

C NOTE CHARACTER

C String containing short information about the chosen

C example

C

C WORK SPACE

C

C RWORK DOUBLE PRECISION array of DIMENSION at least NN

C

C MODE PARAMETERS

C

C STORE CHARACTER

C Specifies the storage mode for arrays Q and R

C STORE F or f Full symmetric matrices are stored in

C Q and R ie the leading NbyN

C MbyM PbyP parts of these

C arrays each contain a symmetric

C matrix

C STORE L or l Matrices contained in arrays Q and R

C are stored in lower packed mode that

C is the lower triangle of a kbyk

C kNMP symmetric matrix is stored

C by columns ie the matrix entry

C Qij is stored in the array entry

C Qikjj for j i

C STORE U or u Matrices contained in arrays Q and R

C are stored in upper packed mode that

C is the upper triangle of a kbyk

C kNMP symmetric matrix is stored

C by columns ie the matrix entry

C Gij is stored in the array entry

C Gijj for i j

C Otherwise CAREX returns with an error

C

C WITHC LOGICAL

C Indicates whether the matrices C Q as in I are to be

C returned as follows

C WITHC TRUE C is returned in array C and Q is

C returned in array Q

C WITHC FALSE the coefficient matrix Q of the DARE is

C returned in array Q whereas C and Q

C are not returned

C

C WITHG LOGICAL

C Indicates whether the matrix G in II or the matrices B

C and R are returned as follows

C WITHG TRUE the matrix G from II is returned in

C array R whereas the matrices B and R

C are not returned

C WITHG FALSE the coefficient matrices B and R of the

C DARE are returned in arrays B and R

C

C WITHS LOGICAL

C Indicates whether the coefficient matrix S of the DARE

C is returned as follows

C WITHS TRUE the coefficient matrix S of the DARE is

C returned in array S

C WITHS FALSE the coefficient matrix S of the DARE is

C not returned

C

C ERROR INDICATOR

C

C IERR INTEGER

C Unless the routine detects an error see next section

C IERR contains on exit

C

C WARNINGS AND ERRORS DETECTED BY THE ROUTINE

C

C IERR NO LT or NO GT NEX

C NEX number of available examples

C IERR N LT or N GT LDA or N GT LDB or

C or P GT LDC or WITHS and N GT LDS or

C N GT LDX and solution is available or

C STORE F or STORE f and

C WITHC EQ FALSE and N GT LDQ or

C WITHC EQ TRUE and P GT LDQ or

C WITHG EQ FALSE and M GT LDR or

C WITHG EQ TRUE and N GT LDR

C IERR MODE PARAMETER STORE had an illegal value on input

C IERR Data file could not be opened or had wrong format

C IERR Division by zero

C IERR G can not be computed as in II due to a singular R

C matrix This error can only occur if

C WITHG EQ TRUE

C

C REFERENCES

C

C P BENNER AJ LAUB and V MEHRMANN

C A Collection of Benchmark Examples for the Numerical Solution

C of Algebraic Riccati Equations II DiscreteTime Case

C Technical Report SPC Fak f Mathematik

C TU ChemnitzZwickau December

C E ANDERSON ET AL

C LAPACK Users Guide second edition

C SIAM Philadelphia PA

C

C CONTRIBUTOR

C

C Peter Benner and Volker Mehrmann TU ChemnitzZwickau

C Alan J Laub University of California Santa Barbara

C

C KEYWORDS

C

C discretetime algebraic Riccati equation Hamiltonian matrix

C

C REVISIONS

C

C December

C

C

B The MATLAB function darex

The prolog of the MATLAB function darex is listed b elow For all listed examples it is

1 T

p ossible to return the matrices A B R Q and the factors C Q Q G BR B can

also b e returned if R is nonsingular Otherwise the output argument G will contain an empty

matrix If the solution is not available the output argument X contains an empty matrix

to o Otherwise X is returned as well as the DARE condition number K computed by

D ARE

the MATLAB function darecond

Note that the references given in the prolog of darex refer to those given at the end of the

prolog and do not corresp ond to the references of this pap er

function ABQRSXparoutGCQdarexindexparin

DAREX

Test examples for the discretetime algebraic Riccati equation DARE

I DRX AXA X AXB S R BXB BXA S Q

Here AQ and X are nbyn matrices B and S are nbym and R is

mbym Q and R are symmetric and X is the required solution matrix

One common approach to solve DAREs is to compute a deflating subspace

of the symplectic pencil

A B R S I G

II L s M s

S R S Q I A B R S

where G B R B is a symmetric nbyn matrix Q may also be given

in factored form Q C Q C where C is a pbyn and Q is a pbyp

matrix

NOTE that for DAREs R being a singular matrix is not uncommon In this

case the symplectic pencil cannot be formed as in II but a solution

of the DARE can be computed via a deflating subspace of the extended

pencil

A B I

III LL s MM Q I S s A

S R B

For examples with singular Rmatrix G can not be computed and is thus

not returned

Input

index number of example to generate indices refer to example

numbers in

parin input parameters optional defaults values given in

For Example number

not referenced Section

parin realvalued scalar

parin tau D K r realvalued scalars

parin n problem size

parin r realvalued scalar

Output

A B Q R S coefficient matrices of DARE as in I

X exact solution of DARE if available usually the

stabilizing solution

If an exact solution is not available the empty matrix

is returned

parout vector with system properties

parout n m p

parout norm condition number of A

The following parameters are only returned if an

solution of the DARE is available

parout radius of smallest circle enclosing the

closedloop spectrum

parout norm of X

parout norm condition number of X

parout condition number of DARE as defined in

G C Q optional output matrices as defined above NOTE that

G can only be computed if R is nonsingular Otherwise

G contains on output the empty matrix

References

PBENNER AJ LAUB V MEHRMANN A Collection of Benchmark

Examples for the Numerical Solution of Algebraic Riccati

Equations II DiscreteTime Case Tech Report SPC

Fak f Mathematik TU ChemnitzZwickau Germany December

T GUDMUNDSSON C KENNEY AJ LAUB Scaling of the DiscreteTime

Algebraic Riccati Equation to Enhance Stability of the Schur

Solution Method IEEE Transactions on Automatic Control vol

no pp

Peter Benner Volker Mehrmann TU ChemnitzZwickau Germany

Alan J Laub University of California at Santa Barbara

C How to obtain the software

The co des corresp onding to this pap er may b e obtained via anonymous ftp at TU Chemnitz

Zwickau Pro ceed as follows

ftp ftptuchemnitzde

Name anonymous

Password your complete email address

cd pubLocalmathematikBenner

Observe the capital L in Local

Now get the compressed FORTRAN subroutines darexf spsyf syspf data les a

sample Makele and a sample program examplef together with an introductory README

le by

get darex ftarZ

or the compressed MATLAB function les darexm darecondm and an introductory README

le by

mtarZ get darex

After exiting ftp extracting the MATLAB co des and data les is achieved by the following

commands

mtarZ uncompress darex

tar xf darex mtar

Analogously the FORTRAN co des and corresp onding data les are obtained by

ftarZ uncompress darex

tar xf darex ftar

In b oth cases the command tar xf creates a directory containing all required les For

mtarZ this directory is called darex m and for darex ftarZ it will b e darex f If any darex

problems o ccur in obtaining or running the co des please contact one of the authors

D Reference table

Table summarizes the prop erties of all the presented examples A value for a condition

number means that the corresp onding matrix is not invertible with resp ect to the numerical

rank computed by MATLAB If K the DARE condition number from is not

D ARE

dened for this example The column X indicates whether an analytical stabilizing solution

is available or not 4 8 D ARE K 3 7 24 12 12 X 2 7 6 12 jj X jj 5 8 8 5 j 1 p 10 10 C max j 6 A X 6 6 r r D 8 default n K p n m n n

no

Table

References

G Ackerson and K Fu On the state estimation in switching environments IEEE

Trans Automat Control AC pp

E Anderson Z Bai C Bischof J Demmel J Dongarra J Du Croz

A Greenbaum S Hammarling A McKenney S Ostrouchov and D So

rensen LAPACK Users Guide SIAM Philadelphi a PA second ed

W Arnold III and A Laub Generalized eigenproblem algorithms and software for

algebraic Riccati equations Pro c IEEE pp

Z Bai J Demmel and M Gu Inverse free parallel spectral divide and conquer al

gorithms for nonsymmetric eigenproblems Tech Rep ort LBL Lawrence Berkeley

Lab oratory University of California Berkeley CA

P Benner A Laub and V Mehrmann A collection of benchmark examples for the

numerical solution of algebraic Riccati equations I Continuoustime case Tech Rep ort

SPC Fak f Mathematik TU ChemnitzZwickau Chemnitz FRG

W Bialkowski Application of steadystate Kalman ltersTheory with eld results in

Pro c Joint Automat Cont Conf Philadelphia PA

E Davison and S Wang Properties and calculation of transmission zeros of linear

multivariable systems Automatica pp

Z Gajic and X Shen Parallel Algorithms for Optimal Control of Large Scale Linear

Systems SpringerVerlag London

J Gardiner and A Laub A generalization of the matrixsignfunction solution for

algebraic Riccati equations Internat J Control pp see also Proc

CDC pp

K Gomathi S Prabhu and M Pai A suboptimal controller for minimum sensitivity

of closedloop eigenvalues to parameter variations IEEE Trans Automat Control AC

pp

T Gudmundsson C Kenney and A Laub Scaling of the discretetime algebraic

Riccati equation to enhance stability of the Schur solution method IEEE Trans Automat

Control AC pp

G Hewer An iterative technique for the computation of steady state gains for the

discrete optimal regulator IEEE Trans Automat Control AC pp

V Ionescu and M Weiss On computing the stabilizing solution of the discretetime

Riccati equation Linear Algebra Appl pp

E Jonckheere On the existence of a negative semidenite antistabilizing solution to

the discrete algebraic Riccati equation IEEE Trans Automat Control AC

pp

M Konstantinov P Petkov and N Christov Perturbation analysis of the dis

crete Riccati equation Kyb ernetica pp

H Kwakernaak and R Sivan Linear Optimal Control Systems WileyInterscience

New York

A Laub A Schur method for solving algebraic Riccati equations IEEE Trans Automat

Control AC pp see also Proc CDC Jan pp

Algebraic aspects of generalized eigenvalue problems for solving Riccati equa

tions in Computational and Combinatorial Metho ds in Systems Theory C Byrnes and

A Lindquist eds Elsevier NorthHolland pp

B Litkouhi SampledData Control of Systems with Slow and Fast Modes PhD thesis

Michigan State University

L Lu and W Lin An iterative algorithm for the solution of the discrete time algebraic

Riccati equation Linear Algebra Appl pp

V Mehrmann The Autonomous Linear Quadratic Control Problem Theory and Nu

merical Solution no in Lecture Notes in Control and Information Sciences Springer

Verlag Heidelb erg July

A step towards a unied treatment of continuous and discrete time control prob

Fak f lems Linear Algebra Appl to app ear see also Preprint SPC

Mathematik TU ChemnitzZwickau Chemnitz FRG

Numerical Algorithms Group Implementation and documentation standards for

the subroutine library in control and systems theory SLICOT Publication NP Nu

merical Algorithms Group EindhovenOxford

T Pappas A Laub and N Sandell On the numerical solution of the discretetime

algebraic Riccati equation IEEE Trans Automat Control AC pp

L Patnaik N Viswanadham and I Sarma Computer control algorithms for a

tubular ammonia reactor IEEE Trans Automat Control AC pp

P Petkov N Christov and M Konstantinov Numerical properties of the gen

eralized Schur approach for solving the discrete matrix Riccati equation in Pro c th

Spring Conference of the Union of Bulgarian Mathematicians Alb ena pp

A posteriori error analysis of the generalized Schur approach for solving the dis

crete matrix Riccati equation preprint Department of Automatics Higher Institute of

Mechanical and Electrical Engineering Soa Bulgaria

A Sage Optimum Systems Control PrenticeHall Englewoo d Clis NJ

V Shankar and K Ramar Pole assignment with minimum eigenvalue sensitivity to

parameter variations Internat J Control pp

J Sun Backward error of the discretetime algebraic Riccati equation preprint Dept

Computing Science UmeaUniversity UmeaSweden

P Van Dooren A generalized eigenvalue approach for solving Riccati equations SIAM

J Sci Statist Comput pp

Other titles in the SPC series

T Ap el G Lub e Anisotropic mesh renement in stabilized Galerkin metho ds Januar

M Meisel A Meyer Implementierung eines parallelen vorkonditionierten SchurKomplement

CGVerfahrens in das Programmpaket FEAP Januar

S V Nep omnyaschikh Optimal multilevel extension op erators January

M Meyer GrakAusgab e vom Parallelrechner f urDGebiete Januar

T Ap el G Haase A Meyer M Pester Parallel solution of nite element equation systems

ecient interprocessor communication Februar

U Groh Ein technologisches Konzept zur Erzeugung adaptiver hierarchischer Netze f urFEM

Schemata Mai

M BollhoferC He V Mehrmann Mo died blo ck Jacobi preconditioners for the conjugate

gradient metho d Part I The p ositive denit case January

P Kunkel V Mehrmann W Rath J Weickert GELDA A Software Package for the Solution

of General Linear Dierential Algebraic Equation February

H Matthes A DD preconditioner for the clamp ed plate problem February

G Kunert Ein Residuenfehlerschatzer f uranisotrop e Tetraedernetze und Dreiecksnetze in der

FiniteElementeMethode Marz

M Bollhofer Algebraic Domain Decomp osition March

B Nkemzi Partielle Fourierdekomposition f urdas lineare Elastizitatsproblemin rotationssym

metrischen Gebieten Marz

A Meyer D Michael Some remarks on the simulation of elastoplastic problems on parallel

computers March

B Heinrich S Nicaise B Weber Elliptic interface problems in axisymmetric domains Part I

Singular functions of nontensorial type April

B Heinrich B Lang B Weber Parallel computation of Fourierniteelement approximations

and some exp eriments May

W Rath Canonical forms for linear descriptor systems with variable co ecients May

C He A J Laub V Mehrmann Placing plenty of p oles is pretty prep osterous May

J J Hench C He V Kucera V Mehrmann Damp ening controllers via a Riccati equation

approach May

M Meisel A Meyer Kommunikationstechnologien b eim parallelen vorkonditionierten Schur

Komplement CGVerfahren Juni

G Haase T Hommel A Meyer and M Pester Bibliotheken zur Entwicklung paralleler Algo

rithmen Juni

A Vogel Solvers for Lameequations with Poisson ratio near June

P Benner A J Laub V Mehrmann A collection of b enchmark examples for the numerical

solution of algebraic Riccati equations I Continuoustime case Octob er

P Benner A J Laub V Mehrmann A collection of b enchmark examples for the numerical

solution of algebraic Riccati equations I I Discretetime case December

P Benner R Byers Newtons metho d with exact line search for solving the algebraic Riccati

equation Octob er

P Kunkel V Mehrmann Lo cal and Global Invariants of Linear DierentialAlgebraic Equa

tions and their Relation July

C Israel NETGEN Ein hierarchischer paralleler Netzgenerator August

M Jung Parallelization of multigrid metho ds based on domain decomp osition ideas November

P Benner H Fabender A restarted symplectic Lanczos metho d for the Hamiltonian eigenvalue

problem Octob er

G Windisch Exact discretizations of twopoint b oundary value problems Octob er

S V Nep omnyaschikh Domain decomp osition and multilevel techniques for preconditioning

op erators November

H Matthes Parallel preconditioners for plate problems November

V Mehrmann H Xu An analysis of the p ole placement problem I The single input case

November

Th Ap el SPCPM Po D Users manual December

Th Ap el F Milde M The SPCPM Po D Programmers manual December

S A Ivanov V G Korneev On the preconditioning in the domain decomp osition technique

for the pversion nite element metho d Part I December

S A Ivanov V G Korneev On the preconditioning in the domain decomp osition technique

for the pversion nite element metho d Part I I December

V Mehrmann N K Nichols Mixed output feedback for descriptor systems December

Some pap ers can b e accessed via anonymous ftp from server ftptuchemnitzde

directory pubLocalmathematikSPC Note the capital L in Lo cal

The complete list of current and former preprints is available via

httpwwwtuchemnitzdepestersfbspcprhtml