existence conditions for functional observability from an eigenspace perspective

5

Click here to load reader

Upload: hieu-minh

Post on 12-Jan-2017

220 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Existence Conditions for Functional Observability From an Eigenspace Perspective

IEEE TRANSACTIONS ON AUTOMATIC CONTROL, VOL. 56, NO. 12, DECEMBER 2011 2957

Existence Conditions for Functional ObservabilityFrom an Eigenspace Perspective

Les S. Jennings, Tyrone Lucius Fernando, and Hieu Minh Trinh

Abstract—Two theorems on conditions for nonexistence and for exis-tence, of built functional observers, from an eigenspace perspective arepresented and proved. One more theorem on Functional Observability interms of constructed products of matrices and is also presented.This theorem provides an easy way to check Functional Observabilitybefore proceeding with the design of functional observers. The existenceand the nonexistence theorems are used to unify previously reportedtheorems on Functional Observability by showing their equivalence. Theconnection between the concept of Functional Observability and the wellknown concept of State Observability is also presented.

Index Terms—Functional observability, linear functional observers,observability.

I. INTRODUCTION

There has been a considerable amount of research carried out on thesubject of functional state estimation for well over four decades eversince the concept was introduced by D. G. Luenberger [1]. Many de-sign algorithms to estimate a desired linear function of the state vectordenoted by a matrix �� for a dynamical system defined by �������have been proposed, see [1]–[8] and also the references therein. Sincethe work of Luenberger [1], the work on characterizing solutions tothe problem of designing a functional observer has been steadily pro-gressing. The most complete theorem on algebraic test conditions fora fixed order functional observer was introduced by Darouach in [7],while the history of the approaches can be traced back from that paper.There is a long history on algebraic conditions for a matrix to be an ob-server of a linear system and articles by Popov, Belevitch and Hautusprovide insight to this, see [9]–[11]. Conditions for Observability fallinto two classes, those involving (constructed) products of matrices ofthe linear system (for example the Observability matrix), and those in-volving (deconstructed) eigenspaces of the linear system matrix �.

The theory of state observation is mature and the fundamental con-cepts of state Observability and state observer design methods are welldocumented and understood. On the other hand, it is only recently thatthe problem of designing the lowest possible order functional observerwas solved [12]. When the system is not entirely observable it may stillbe possible to design functional observers. While state Observability isa precondition to design state observers (with arbitrary poles), state Ob-servability should not be a precondition to design functional observers(with arbitrary poles), it should be Functional Observability instead.A necessary and sufficient condition for the existence of functional ob-servers to estimate a given functional�� appeared in [13]. The conceptof Functional Observability, and also a necessary and sufficient condi-tion for a triple �������� to be Functional Observable was also intro-

Manuscript received January 27, 2010; revised July 06, 2010; accepted May30, 2011. Date of publication June 20, 2011; date of current version December07, 2011. Recommended by Associate Editor A. Ferrara.

L. S. Jennings is with the School of Mathematics and Statistics, Universityof Western Australia, Crawley, WA 6009, Australia (e-mail: [email protected]).

T. L. Fernando is with the School of Electrical, Electronic and ComputerEngineering, University of Western Australia, Crawley, WA 6009, Australia(e-mail: [email protected]).

H. M. Trinh is with the School of Engineering, Deakin University, WaurnPonds, Geelong, VIC 3217, Australia (e-mail: [email protected]).

Digital Object Identifier 10.1109/TAC.2011.2160019

duced in [12] and this result was developed in the context of designingthe lowest possible order functional observer. Testing Functional Ob-servability based on the reported condition in [12] requires constructingsome auxiliary matrices using ��� and ��. In this technical note wepresent two theorems on conditions for nonexistence and for existence,of built functional observers. The technical note also presents a newtheorem on Functional Observability in terms of constructed productsof matrices��� and��, similar to the well known State Observabilitytheorem based on the Observability matrix. The reported FunctionalObservability condition which is based on the constructed productsof matrices �� � and �� provides an easy check on the existence offunctional observers before proceeding with the design. In this tech-nical note we also use the existence and the nonexistence theorems toprove previously reported theorems [12], [13] on Functional Observ-ability demonstrating their equivalence, and demonstrating the equiv-alence is important since those conditions are equivalent in a non ob-vious way and the condition in [12] was central to solving the minimalorder problem which remained unsolved since Luenberger [1].

The primary focus of this technical note is on the Functional Ob-servability of a triple �������� and not about the design of lowestpossible order observer parameters in contrast to [12]. This technicalnote is organized as follows: Section II presents the main results of thetechnical note. A numerical example is presented in Section III and aconclusion is given in Section IV.

II. MAIN RESULTS

Consider an �th order linear time-invariant dynamical system de-scribed by ������� in state space form. The eigenspace of an eigen-value is the subspace of all linear combinations of eigenvectors asso-ciated with the eigenvalue. There are various equivalent definitions ofObservability and the following definition is based on eigenspaces:

Definition 1: The pair ����� is Observable iff the row vectors of� have a nonzero (full rank) component in each eigenspace of the ma-trix �.

This technical note needs to define what is meant by a matrix like� observing an eigenspace of �. To do this the linear system needsto be diagonalized. Let � � ����� where � has Jordan blocks ��on the diagonal and eigenvalue � on the diagonal of ��. Similaritytransforming the linear system by � � ���, �� � ��, gives theblock diagonal system ��� ��� ���. The �th column of �� is the innerproduct of the rows of � and the �th column of � which is either the�th eigenvector of � or the secondary vectors of Jordan blocks. Nowlet us define what is meant by a matrix� observing an eigenspace of�.

Definition 2: Any � � � matrix � observes the �th eigenspace ofdimension iff the transformed matrix �� has rank component asso-ciated with the �th eigenspace.

Remark 1: Loosely this means that � has a nonzero component ofthe �th eigenspace. More exactly, for distinct eigenvalues this meansthat the �th column of �� must be nonzero, for Jordan blocks of size ,at least the first of the columns must be nonzero (if the Jordan block isupper triangular) and for repeated eigenvalues with order one blocks,there must be a � nonsingular block in the corresponding columnsof �� .

The functional observer idea adds a “want to be a partial observer”to the system �������, for a linear functional

�� � �� (1)

where�� ���� is a known constant matrix and �� a function that re-

quires estimation. In this scheme ����� is considered to be not neces-sarily an observable pair, that is,� may not observe all the eigenspaces.It turns out that if �� wants to observe more than what � can observe,

0018-9286/$26.00 © 2011 IEEE

Page 2: Existence Conditions for Functional Observability From an Eigenspace Perspective

2958 IEEE TRANSACTIONS ON AUTOMATIC CONTROL, VOL. 56, NO. 12, DECEMBER 2011

then such a functional observer does not exist. Darouach outlines twoalgebraic conditions which must be met for any � to form a functionalobserver. We use these conditions to show nonexistence and existenceunder two mutually exclusive sets of conditions.

Condition 1: The matrix � must satisfy

����

��

��

� ����

��

� (2)

Condition 2: The matrix � must satisfy, for all � �

����

��� ��

��

� ����

��

� (3)

This technical note presents two theorems, one which gives conditionsfor non-existence of a functional observer, while the other gives condi-tions for which a functional observer always exists. The conditions arebased on what eigenspaces � and �� can observe.

Remark 2: The functional observer for which we are assigning ex-istence or not, is a matrix � built from ��. If � � �� does not satisfyCondition 1 then extra rows are appended to �� to form a new � withfull row rank in order to satisfy Condition 1. Furthermore, if Condition2 is not satisfied then further rows are appended to increase the rowsin � in order to satisfy Condition 2 without violating Condition 1. See[12] for more details on how a matrix � can be built from �� in orderto satisfy both Conditions 1 and 2. In our analysis the built matrix �

includes the rows of ��.We now state the definition of Functional Observability before pre-

senting the theorems.Definition 3 [12]: The triple �������� is Functional Observable

iff there exists an � � ���� ������ � � � � such that ���� ������ and � satisfies conditions 1 and 2 where ����� is the numberof rows of ��� and ���� is the row space of ���.

Theorem 1: (Nonexistence) If �� can observe more eigenspaces(or subspaces of eigenspaces) than � can observe, then the triple�������� is not Functional Observable.

Proof: It is enough to consider a matrix � which has the firsteigenspace of dimension separated out so that

� �� � � � � �

� �(4)

where � is a � � � matrix (� � ) with the same eigenvalue onthe diagonal and can be any assortment of Jordan blocks, and wherethe � represents the rest of the matrix. This can be accomplished bya similarity transformation from any original matrix. For clarity theexample

� �

� � �

� � �

� � �

� � �

(5)

will be used. The observer matrix � cannot observe the firsteigenspace, so it has zero in the first � columns, while the functionalobserver matrix � can observe the first eigenspace, so it has columnsof full rank (first in the example). The part of � which observes thefirst component is denoted � and its rows can come from the identity�� without loss of generality as it is the row space which is the definingfeature. The example could have

� �

� � � �

� � � �

� � � �

� (6)

Below, � represents not necessarily zero of all sizes, and of course ��

must have an appropriate minimal number of rows. It is enough for thisproof to use the bare necessities

� � � � � � � � � (7)

and

�� � � � � � � � � � (8)

Then

�� � � � � � � � � (9)

and

��� � �� � � � � � � � (10)

Now suppose that �� has rows added and denote any extended func-tional observer candidate as �, which is row equivalent to a matrix �

� �

� � � � � �

� � � � � �...

......

...� � � � � �

(11)

is row equivalent to

� �

� � � � � �

� � � � � �...

......

...� � � � � �

(12)

where the �’s have zeros in the columns where there are ones in � andnot necessarily zero in the columns where � has zero columns, theexample has � � � � � � �. Assume Condition 1 is true, whichcan always be achieved by adding enough rows to ��. Now considerCondition 2 where the left and right below are compared

����

��

��� ��

��� ����

��

� (13)

We show that they cannot be equal for � � . Expanding both matricesin zeros and �’s

��

��� ��

� � � � � �

� � � � � �

���� � �� � � � � �

� � � � � �...

......

...� � � � � �

� (14)

��

� � � � � �

� � � � � �

� � � � � �

� � � � � �...

......

...� � � � � �

� (15)

Page 3: Existence Conditions for Functional Observability From an Eigenspace Perspective

IEEE TRANSACTIONS ON AUTOMATIC CONTROL, VOL. 56, NO. 12, DECEMBER 2011 2959

It is easy to see that for � � �, ���� � ��� has rank � � � �, so thematrix on the left has lower rank than the one on the right, no matterwhat the �’s and non-zero �’s are. The example has

���� � ��� �

� � � �

� � � �

� � � �

� � � �

� � � �

� � � �

� � � �

� � � �

� � � �

� � � �

(16)

where the zero columns in �’s line up with zero columns in ���� ����. So condition two cannot be met and a functional observer doesnot exist. ���

Corollary 1: For detectability, if the eigenvalue � of is non neg-ative, then the system is likewise not detectable, while if it is negativethe system may be detectable, depending on the rest of the matrix rep-resented by in (4).

Theorem 2: (Existence) The triple ���� �� is Functional Observ-able if all the eigenspaces (or subspaces of eigenspaces) that � canobserve are also observable by � . The order of the functional observeris bounded by the sum of dimensions of eigenspaces (or subspaces ofeigenspaces) that � can observe.

Proof: It is enough to consider in Jordan diagonal form

� � �

�� � �

� �� �

� � ��

(17)

where ����� and �� are of dimension �� �� ��� ��� ��� �� and������ ����� respectively and � � �. In general let us consider� such that

� � �� � �� � (18)

where � � and � �� have � and �� � columns respectively, and � � cansee all the eigenspaces associated with the eigenvalues of �� and also� �� can see all the eigenspaces associated with the eigenvalues of ��.Then

��

�� � �� �

� �� � ��

� � � ��

� � �� � � (19)

Since � can see all the eigenspaces (or subspaces of eigenspaces) that � can see, in general � takes the following form:

� � �

� � � (20)

where �

� has � columns and � � �. Then the number of rows needingto be added to � to satisfy condition one is less than �. This can beachieved with taking a maximal form

� � �

��

� � �

� ���

� �

(21)

such that

��� � � � (22)

where ��

� and ���

� has � and � � � columns respectively and has� rows. Matrix taking the form (21) which satisfies (22) satisfies

Condition 1 because with such an , LHS and RHS of Condition 1equal �. The LHS of Condition 2 considers the following:

��

� � �

��

���

� �

� � �

��� �

� ��

� � ��

��� �

� � ���

� � ���

� ��

� ��� � ����

� � � ��

���

� � � �

��

� � � �

� ���

� � �

� � � �

� � � �

�� � �� �

� �� � ��

� ��� � ����

� � � ��

���

�� � �� �

� �� � ��

� ��� � ����

� � � ��

���

� � � �

� � � �

� � � �� � ���

� � � �

�� � �� �

� �� � ��

� ��� � ����

� � � ��

���

�� � �� �

� �� � ��

� � � ��

� (23)

From (19) and (23) it follows that:

��

� � �

��

� � �� � � (24)

The RHS of Condition 2 is the same as the RHS of Condition 1 whichwas also shown to be �. Since both Condition 1 and 2 can be satisfieda functional observer exists. Any minimal one may of course have asmaller number of rows in than the maximal one used in this proof.

���Corollary 2: If the pair ���� is Observable then the triple

���� �� is Functional Observable. However, the converse is nottrue.

Remark 3: Note that the conditions for both theorems 1 and 2 arecomplementary so together they form an if and only if pair.

In the rest of the technical note we will use the Matlab notation

for in-line stacked submatrices so that

�is written as � � �

in text. The results of Theorems 1 and 2 are used in the following toprove several theorems on Functional Observability to demonstratetheir equivalence. First consider several definitions from [12]: let � be the smallest matrix which includes � in its rows such that � � satisfies Condition 1, and obviously rows of � are linearlyindependent, let �� be the largest matrix (matrix with most numberof rows) formed by basis vectors of a subspace of the row space of�� � � such that � � � � �� satisfies Condition 1, let �� bethe LHS (or the RHS) of Condition 1 when � � . Let rows of �

(an orthonormal basis) be the perpendicular space of �� � � � � ,��

� � � � ��� � � � � ��������� �� � ��� be matrices formed by taking� left eigenvectors of �

�� as rows of a matrix then post multi-

plied by � (note that there are � � �� left eigenvectors, so thereare �������� � �� � �� many possibilities for ��

� and furthermore � � � � ��

� always satisfies Condition 1 with its LHS and RHSequalling �� � �, see [12]) and let � �

��� be the largest matrix formedby basis vectors of a subspace of the row space of �� � � such that

Page 4: Existence Conditions for Functional Observability From an Eigenspace Perspective

2960 IEEE TRANSACTIONS ON AUTOMATIC CONTROL, VOL. 56, NO. 12, DECEMBER 2011

� � ��� � ��� � � �

��� � satisfies Condition 1. To prove sufficiencyof Functional Observability in Theorem 3 to follow, it is enough toconsider single rows for � and �� for � � �. Since �� will onlyconsist of components ���

� and ��� where �� and �� are integers[12], the structure of �� is as follows:

�� � � ������ ���� (25)

where � is a full row rank matrix of dimension ����� � � and � ��. Since rows of �� are an orthonormal basis for the perpendicularspace of �� � �� � �� �, the structure of �� is as follows:

�� � ��� ����

������ ��������

(26)

where � �� ��� is orthogonal and � �� ��

has orthonormal rows. Let the left eigenvectors of ����� arranged as

rows of a matrix be � , considering (26) the structure of � is

� �� ��� ����

������� ��������

(27)

where � � �� ��� is a full row rank matrix. Since by def-inition ��

�� � ��� and � ��� ��� , the structure of���� is

���� �

� ��� ����

������ ��������

(28)

Remark 4: ��� for any � � ��� � � � � � � ��� is constructed by

taking � rows of ���� , so there are ����������� � � possible ma-

trices i.e., ��� � � � � ��

�� ������ ��

� . Clearly, the first ���� rows of���� appended to �� in order to form a new � would ensure Con-

dition 1 is satisfied with both LHS and RHS equalling �. Then furtherappending of rows to � from rows � � � of ��

�� through to row���� of ��

�� will clearly satisfy Condition 1 but will increase boththe LHS and RHS by 1 for each appended row.

To prove sufficiency of Theorem 3, we only need to consider����

(i.e., choose � � � � �� and � � �) which is the first � � �� rowsof ��

��

���� � � ��� ���� (29)

and also the matrix ������ (again choose � � �� �� and � � �).

It is easy to see that �� � �� � appended to ��� � ���� � to form

� � ��� � ���� � � � ��� does not violate Condition 1, in fact

both the LHS and RHS of Condition 1 equals �, unchanged from itsvalue when � � ��� � ��

�� �, so the following can be written:

������ �

�� (30)

We can now state and prove Theorem 3 on Functional Observabilityusing the structure of ��

�� as in (29) and the expression for������ as in (30) and also using Theorems 1 and 2.Theorem 3 [12]: The triple ������� is Functional Ob-

servable iff Condition 2 is satisfied for � � ��� ��� � orone of � � ��� �

�� ��

���� , � � ��� � � � � � � ���, � �

��� � � � � �������� � �� � � �.

Proof:Sufficiency: Here we consider the case where all the eigenspaces

that �� can observe are also observable by � as in Theorem 2 (theexistence condition). It is enough to consider � � � and � � � � �� ,Condition 1 is satisfied for

� �

��

����

������

(31)

both the LHS and RHS of Condition 1 equals �, so is the RHS ofCondition 2. Now let us consider the LHS of Condition 2 for the same� as (31)

����

��

��� ��

(32)

Since � is row equivalent to �

� �

��� � �

���� � �

� ����� �

(33)

we can replace � in (32) with �. Now from the proof of Theorem 2 itfollows that the LHS of Condition 2 is also �.

Necessity: Here we consider the case where�� can observe moreeigenspaces than � can observe as in Theorem 1 (the nonexistencecondition). According to Theorem 1 for all � (including all the statedmatrices in Theorem 3) Condition 2 is not satisfied. ���

Theorem 4 [13]: The triple ������� is Functional Observable iff

����

��

�� ��

� �����

�� � ��� � (34)

Proof: For � � � � � ����� , both LHS and RHS of (34) takethe value of �. If � observes all the eigenspaces then LHS and RHSof (34) take the value of � for all � in (including � � ����� ). If �does not observe an eigenspace which�� can observe (and let �� be thecorresponding eigenvalue of �), then clearly the LHS of (34) is � andRHS is less than � for � � ��. If � observes all eigenspaces �� canobserve (and also more eigenspaces) then at corresponding eigenvaluesof eigenspaces � can observe, both LHS and RHS of (34) takes thevalue of �. Furthermore, at corresponding eigenvalues of eigenspacesboth � and �� cannot observe, both LHS and RHS of (34) takes thesame value but less than �. ���

Remark 5: In Theorem 3 and Theorem 4 if we consider the left halfof the complex plane instead of the entire complex plane, i.e., in (3)and (34) if consider � � ��� � � then only some poles maybe arbitrarily chosen and it is obviously a less restrictive condition fordesigning a stable functional observer.

Theorem 5: The triple ������� is Functional Observable iff

����

��...

�����

��

���...

������

� ����

��...

�����

(35)

Page 5: Existence Conditions for Functional Observability From an Eigenspace Perspective

IEEE TRANSACTIONS ON AUTOMATIC CONTROL, VOL. 56, NO. 12, DECEMBER 2011 2961

Proof: The result follows considering the RHS of (34) with theObservability matrix for the pair �����, and also considering the LHSof (34) with the Observability matrix for the pair ��� �������. ���

Remark 6: When �� is chosen as the identity matrix then theLHS of (34) and also (35) is �, and reduces to well known stateObservability conditions ��� ��� �� � �� � � � � and��� ����� � � � ������ � respectively. We can relate themore general concept of Functional Observability to State Observ-ability as follows:

������ ���������� �� �� ���� (36)

where ���� is a State Observability function that can be based on thewell known State Observability matrix with just� and� as inputs, and����� is a Functional Observability function that can be based on (35)with ��� and �� as inputs.

Remark 7: In a geometric setting Theorems 4 and 5 can be inter-preted as follows:

��

���...

������

��...

�����

� (37)

III. NUMERICAL EXAMPLE

Consider the following 10th order system:

� � � � � � �

� � � � � � � � �

� � � � � � � � �

� � � � � � � � �

� � � � � � � � �

� � � � � � � � �

� � � � � � � � �

� � � � � � � � �

� � � � � � � � �

� � � � �� � �� � �

��

� �

� � � � �

��� ��� ������� ������� ������� �������

� � �

������� ������� ������� �

and � � ���� ���� �. The system ����� is not Observable. TheFunctional Observability of the triple �������� can be verified usingeither Theorem 3, Theorem 4 or Theorem 5. Theorem 3 involves com-puting several auxiliary matrices and then testing the satisfaction ofCondition 2, it can be shown that at least for one auxiliary matrix statedin Theorem 3, in particular for

� �

� � � � �

��� ��� ������� ������� ������� �������

������ ������ ������ ������ �

� � �

������� ������� ������� �

� � � � �

Condition 2 is satisfied hence the triple �������� is Functional Ob-servable. Although using Theorem 3 to ascertain Functional Observ-ability involves computing several auxiliary matrices, it also leads toa design of a lowest possible order functional observer [12] unlike themethods in Theorem 4 or 5, the four rows in � suggests that the lowestpossible order for the functional observer is 4. Now consider using The-orem 4, to test the satisfaction of (34), it is necessary to compute all theeigenvalues of � and for � at each eigenvalue of �, the rank on bothsides of (34) need to be checked. For this example it can be verifiedthat (34) is satisfied for � at each of the 2 eigenvalues of �, so (34)is satisfied and hence the triple �������� is Functional Observable.Now consider using Theorem 5, one single rank test on the LHS of (35)and also on its RHS can ascertain Functional Observability of the triple�������� and for this example both the LHS and RHS of (35) is 9, sothe triple �������� is Functional Observable. Clearly testing Func-tional Observability based on Theorem 5 is the conceptually easiest.

IV. CONCLUSION

An existence theorem and also a nonexistence theorem for functionalobservers have been presented using the basic geometry of eigenspaces.These two theorems were used to prove two previously reported the-orems on Functional Observability showing the equivalence, and it isimportant to show the equivalence since those theorems are equiva-lent in a non obvious way, and it is the Functional Observability test inTheorem 3 that lead to solving the minimum order functional observerproblem. A new theorem on Functional Observability is also presentedwhich is computationally easy to verify.

REFERENCES

[1] D. G. Luenberger, “Observers for multivariable systems,” IEEE Trans.Autom. Control, vol. AC-11, no. 2, pp. 190–197, Apr. 1966.

[2] P. Murdoch, “Observer design of a linear functional of the state vector,”IEEE Trans. Autom. Control, vol. AC-18, no. 3, pp. 308–310, Jun.1973.

[3] J. B. Moore and G. F. Ledwich, “Minimal-order observers for esti-mating linear functionals of a state vector,” IEEE Trans. Autom. Con-trol, vol. AC-20, no. 5, pp. 623–632, Oct. 1975.

[4] K. Furuta and S. Kawaji, “Linear functional observer with possibleminimal dimension,” IEEE Trans. Autom. Control, vol. AC-22, no. 6,pp. 977–980, Dec. 1977.

[5] H. R. Sirisena, “Minimal-order observer for linear functions of the statevector,” Int. J. Control, vol. 29, pp. 235–254, 1979.

[6] C.-C. Tsui, “On the order reduction of linear functional observers,”IEEE Trans. Autom. Control, vol. AC-31, no. 5, pp. 447–449, May1986.

[7] M. Darouach, “Existence and design of functional observers for linearsystems,” IEEE Trans. Autom. Control, vol. 45, no. 5, pp. 940–943,May 2000.

[8] H. Trinh, T. Fernando, and S. Nahavandi, “Partial-state observers fornonlinear systems,” IEEE Trans. Autom. Control, vol. 51, no. 11, pp.1808–1812, Nov. 2006.

[9] V. M. Popov, Hyperstability of Control Systems Transl.:(trans. of Ro-manian ed., 1966). Berlin, Germany: Springer, 1973.

[10] V. Belevitch, Classical Network Theory. San Francisco, CA: Holden-Day, 1968.

[11] M. L. J. Hautus, “Controllability and observability conditions of linearautonomous systems,” Ned. Akad. Wetenschappen, Proc. Ser. A, vol.72, pp. 443–448, 1969.

[12] T. L. Fernando, H. M. Trinh, and L. Jennings, “Functional observabilityand the design of minimum order functional observers,” IEEE Trans.Autom. Control, vol. 55, no. 5, pp. 1268–1273, May 2010.

[13] J. Moreno, “Quasi-unknown input observers for linear systems,” inProc. IEEE Int. Conf. Control Appl., 2001, pp. 732–737.