Next Article in Journal
An Ontology-Based Approach for Knowledge Acquisition: An Example of Sustainable Supplier Selection Domain Corpus
Previous Article in Journal
Hybrid Attention-Based 3D Object Detection with Differential Point Clouds
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Eigenstructure through Matrix Adjugates and Admissible Pairs

by
Omar M. E. El-Ghezawi
Department of Electrical Engineering, School of Engineering, The University of Jordan, Amman 11942, Jordan
Electronics 2022, 11(23), 4011; https://doi.org/10.3390/electronics11234011
Submission received: 6 October 2022 / Revised: 24 November 2022 / Accepted: 28 November 2022 / Published: 2 December 2022
(This article belongs to the Section Systems & Control Engineering)

Abstract

:
The traditional eigenstructure assignment method is reconsidered in this paper, shedding light on its nature and some of its properties. The approach is through matrix adjugates which enable a more eloquent decomposition compared to the lumped solution usually obtained through matrix null spaces. Based on the new approach, the admissible pair ( w , z ) is formalized. The new approach enables an alternative methodology to the determination of the permissible closed loop eigenvector subspaces and the might be termed the companion input-subspace. Such approach renders the method a formulae-based method as w and z are now obtained formula-wise as opposed to being extracted out of a lumped solution. Compared to the traditional method, the study reveals information such as w and z are independently and explicitly determined. Moreover, newly assigned eigenvalues always result in z 0 , the input matrix B does not influence z and a fundamental feature of the open loop characteristic polynomial is exposed. Furthermore, closed loop eigenvectors associated with repeated eigenvalues can be explicitly computed by means of differentiation as opposed to null space determination. A special form of system representation is highlighted, which considerably eases the calculations. The myriad concepts pointed out have been demonstrated and authenticated through carefully selected examples involving real, complex, repeated eigenvalues, and two practical systems of an electrical nature.

1. Introduction

Eigenvalue assignment on its own is the first approach one looks for when it comes to stabilization and control of a system’s growth or decay. To address issues such as shape of response, maintaining system robustness, and insensitivity, a need arises to involve the eigenvectors as well as the eigenvalues in system design.
The first introduction of eigenvalue-eigenvector assignment in shaping system response was given in [1,2]. We are focusing on a particular approach namely the eigenstructure assignment, known earlier as the entire-eigenstructure assignment. We refer the reader to some books on the subject matter [3,4], to a survey [5], in addition to [6].
Early works on eigenstructure assignment were conducted by [1,2]. They identified the freedom offered by state feedback in specifying the closed loop eigenvectors as well as the closed loop eigenvalues. In addition, they provided a characterization of all attainable eigenvectors associated with a given set of eigenvalues. Other early researchers were [7,8,9,10] who provided algorithms for obtaining such attainable sets of eigenvectors. Though state and output feedback eigenstructure assignment cannot change uncontrollable eigenvalues, their associated eigenvectors may be chosen to a certain extent to improve the insensitivity and the robustness of the closed-loop system [11]. In a study by [12], the theory of eigenstructure has been applied to more precisely shape the modes involved in a vibrating system. An extensive flight control example is treated in [6]. A mention must be made of a book [13] regarding the application of eigenstructure method to avionics. There, the author has shown that no more than m entries of any eigenvector can be chosen arbitrarily. A PhD thesis by [14] investigated the application of eigenstructure assignment to aircraft problems. Furthermore, textbooks’ treatment of eigenstructure is well-explained in [15,16].
Recent applications to a three-axis dynamic flight motion simulator has been conducted in [17]. The authors employed derivative PD state feedback together with a partial subset of the system eigenstructure. Both resulted in a simplified, more economical, and robust approach compared to the traditional eigenstructure approach. The case of large scale systems has been tackled by [18]. Partial eigenstructure assignment was used to derive a new parametric solution. The solution method involved inverses of lower order matrices, resulting in computational load reduction. In [19], the authors addressed a problem with output feedback, where only partial assignment is possible and a trade-off between sensitivity and stability should be exercised. Eigenstructure assignment methods for vibration cancellation and suppression in large space structures have been reviewed in [20]. In particular, a method known as orthogonal eigenstructure has been found to offer significant simplification of the design task. It also facilitates some experience-based design. An approach based on multibody aircraft dynamics rather than the conventional rigid-body configuration has been studied in [21]. The eigenstructure assignment proves a convenient approach since the differences between both types of aircraft are reflected in the eigenvalues and eigenvectors. Consequently, an implementation of a straightforward inner-loop control law accomplished desired aircraft requirements on damping and stiffness.
The eigenstructure method is now a well-established method for eigenvalue-eigenvector assignment using state and output feedback [6]. It is characterized by a determination of an eligible n × 1 closed loop eigenvector w together with an m × 1 companion input-vector z . Both vectors result from a solution method based on the null space of a certain formulation of the feedback used. In its most simple form, the lumped solution is the null space solution of an augmented n × n + m matrix. Typically, the traditional eigenstructure method gives a lumped solution in the sense that both w and z are not independently obtained, but have be extracted out of a null space solution (an n + m × 1 vector), where w is extracted as the top n entries and z as the bottom m entries.
As a numerical value, the null space solution overshadows (conceals) the nature and structure of both w and z even after decomposing the solution into its constituent parts. Any additional structural information is therefore welcomed as it provides further insight together with additional characterization. Both help in improving intuition, in easing calculations, and in reducing problem dimensionality throughout both analysis and design stages. This task is undertaken by our treatment utilizing the concept of matrix adjugates. We shall interchangeably refer to our method as either the adjugate method or the admissible pair method, while referring to the traditional method as the null space method.
What distinguishes our approach is the fact that the adjugate of a matrix is unique leading to a naturally scaled admissible pair [22,23,24,25]. This is not the case with the usual eigenstructure method as the null space may differ in the values of its entries depending on the method used to determine it. MATLAB provides two approaches to determine the null space which give different answers in terms of the resulting numbers, though both are eligible and lie within the same solution space. From that perspective, our method provides standardization through formula based determination of both w and z . Such an approach reduces dimensionality and in the theoretical sense enables a form of parallelism.
The adjugate method deals with lower dimensional matrices. It involves matrix manipulation of order n × n , in comparison to manipulation of ( 2 n + m ) × ( n + m ) matrices required by the null space method. The adjugate method accentuates the importance of the open loop characteristic polynomial overshadowed by many eigenvalue assignment methods. The role of B is also demystified when adopting the admissible pair approach in the sense that it does not influence z . This is not apparent when using the null-space method.
The adjugate method is convenient whenever dealing with matrices of special forms such as the companion form adopted by MATLAB as its default method for control system representation. It turns out that such a form together with the adjugate method provides direct immediate information related to the open loop system such as: stability, the characteristic polynomial, left and right eigenvectors, the derivative of z with respect to λ . Most important, this form provides direct formula-based determination of the closed loop eigenvectors enhancing the explicitness of the adjugate method when it comes to distinct and repeatedly assigned eigenvalues together with their associated eigenvectors.
We begin our study in Section 2 by briefing the eigenstructure involvement in shaping a system time response through left and right eigenvectors. We then outline two convenient approaches to the solution process through an admissible pair in Section 3. We pay a visit to the determination of left and right eigenvectors from the matrix adjugate point of view in Section 4. The core of our study is a formulation of the admissible pair through independent and explicit formula-based relations in Section 5; together with insightful relevant remarks. The tools are matrix adjugates and the open loop characteristic polynomial. Matrix adjugates efficiently lend themselves to a companion form adopted by MATLAB. Such a form simplifies many issues related to open loop and closed loop eigenvector determination; being formalized in Section 6. Extending the null space and a need for repetitive differentiation of the admissible pairs related to identical eigenvalues is proved in Section 7 and shown to be systematic and straightforward. In case of blending between the adjugate and the null space method regarding mixed calculations, a conversion between the two is essential as discussed in Section 8. Our investigation concludes with four examples; fully worked out to demonstrate and validate a number of conceptions introduced throughout the manuscript. The calculation and simulation tool is MATLAB.
Broadly, we summarize the contribution and novelty of our study as follows. The details are within the main body of the manuscript. All serve as advantageous features if compared to the traditional eigenstructure method.
  • Contributing independent determination of the two main parameters ( w , z ) , together with explicit determination of ( w , z ) , rendering our method a formula-based method (Section 5).
  • A decoupled computation of the pair ( w , z ) , thus enabling parallelism.
  • Highlighting an important role played by the usually overlooked open loop characteristic polynomial when it comes to closed loop eigenvalue assignment.
  • Presenting a particular matrix form which provides direct information regarding system structure, stability, and many other aspects of systems. Such form significantly eases the eigenvector assignment process (Section 6).
  • Providing systematic determination of the closed loop generalized eigenvectors when dealing with repeated eigenvalue assignment (Section 7).
  • Manipulating lower order matrices using the adjugate of a matrix.
  • Presenting three fully worked out examples to demonstrate the convenience of the adjugate method. Theory related to a commonly encountered electronic circuit is also treated in Section 6. In addition, a practical application concerning a realistic system is presented in Example 4. It concerns a well-known industrial machine, namely the speed control of an armature control DC motor (Section 9).

2. The Eigenstructure Method in Brief

Since the location of eigenvalues alone do not specify a system response completely, a need arises to involve the associated eigenvectors. In doing so, one exercises additional control over the behavior of the system. An established fact concerning multi-input systems, i.e., m > 1 , is that the same set of eigenvalues can be specified through non-unique feedback matrices. Such non-unique K matrices result in markedly unalike responses of a system. This is due to the differences in the eigenvectors assigned leading to systems of diversified structure and hence yielding different responses.
Regarding a simplified system response, things become clearer and informative when examining the forced time response x ( t ) of a linear time-invariant system. It is given by [14].
x ( t ) = i = 1 n v i e λ i t w i T x ( 0 ) + i = 1 n v i 0 t e λ i ( t τ ) w i T B u ( τ ) d τ
where λ i , v i , and w i stand for a system eigenvalue together with its right and left associated eigenvectors. The role of (1) is discussed further in Example 1 and in full within Appendix A.
Scrutinizing (1), the eigenvalues determine the rate of decay or growth of the time response while the right eigenvectors v i prescribe the distribution of the modes. Regarding the left eigenvectors w i and since w i T x ( 0 ) is a multiplying scalar, it clearly determines the amount each mode v i e λ j t participates to the response in both the transient (exemplified by w i T x ( 0 ) ) and the steady state (exemplified by w i T B u ( τ ) ).
Moreover, occasionally w i T x ( 0 ) can be zero with some initial conditions, thus influencing the transient response. When the system is uncontrollable, the impact of the left eigenvectors is even more pronounced and more direct when compared with the impact of the right eigenvectors. This is because w i T B u ( τ ) is zero irrespective of u ( τ ) when w i is a left eigenvector associated with an uncontrollable eigenvalue, thus, inhibiting the effect of u ( τ ) .
Such recognition of the importance of left and right eigenvectors in shaping the dynamic response as exhibited by (1) and the freedom offered in their selection in the multi-input case have justified them a viable approach to systems in analysis and in design in both the transient and the steady state. Essentially, the purpose of eigenstructure control is the utilization of feedback to arrive at a suitable set of a system eigenvalues as well as their associated eigenvectors.
Such utilization is useful in optimizing the contribution of such system modes in the overall response, in organizing and coordinating mode distribution, and in specific cases, as a means of completely eliminating particular contributions if so desired.

3. Adoption of Two Convenient Forms to Determine the Admissible Pairs

The system and controller under considerations are given by
x = A x + B u ; x n , u m where   1 m n
u = K x
The closed loop system is therefore,
x = ( A + B K ) x
The eigenstructure assignment method involves a feedback matrix K which assigns eigenvalues λ i using the pair ( w i , z i ) , where w i is the associated n × 1 closed loop eigenvector and z i is the associated companion m × 1 input-vector.
As w i is a closed loop eigenvector pertinent to the eigenvalue λ i , the following holds for any eigenvalue of algebraic multiplicity 1 .
( A + B K ) w i = λ i w i
Two convenient rearrangements of (5) are to be used in our investigation. They are:
(i)
The null-space method [26] associated with the traditional eigenstructure method [7,8,16], where the system is expressed as.
[ λ i I n A B ] w i K w i = 0 [ λ i I n A B ] w i z i ,   i . e . . ,   z i = K w i
In which case [27,28,29,30]:
w i z i = n u l l ( λ i I n A ¦ B )
(ii)
The adjugate method where the system is expressed as
( λ i I n A ) w i = B z i
Using either rearrangement (7), or (8), the feedback matrix is calculated as below. Collectively, considering the n assigned eigenvalues such that all w i are independent [6,9,15],
z 1 z 2 z n = K w 1 w 2 w n K = z 1 z 2 z n w 1 w 2 w n 1
A note on the use of u = K x and not u = K x as in many books and research papers. The reason is that the former is the only representation which enables a reformulation as in (8). This is needed to end up with the input matrix B not preceded by a negative sign, together with an open loop characteristic polynomial as λ i I n A which is always a monic polynomial irrespective of the system order n being even or odd. This is a matter of convenience, minimizing negative signs throughout representations and human errors throughout manipulation.
The solutions of (7) are in general μ w i and μ z i where μ is a scalar multiplier. However, standardizing their values somehow is desirable, thus avoiding non-unique choices for eigenvector entries. This is helpful in our investigation; it is accomplished through the utilization of matrix adjugates which are unique. This renders our approach more appealing. Besides, matrix adjugates enable independent determination of the two solutions w i and z i , in contrast to the null space method.

4. Right and Left Eigenvectors Revisited in the Light of Matrix Adjugates

The adjugate of a matrix is the transpose of its cofactor matrix [16,22,23,24,25]. Such name will be used instead of the adjoint which is widely used in many contemporary books on matrix theory and linear algebra. The old name “adjoint” nowadays refers to a matrix associated with the adjoint operator, where the adjoint is the conjugate transpose (not the transpose) of the cofactor matrix.
Matrix adjugates and eigenvectors are fundamental in our treatment of the subject matter. Mainly, we shall deal with the adjugate of λ i I n A and not of A unless otherwise stated.
Definition 1.
The adjugate a d j ( . ) of an n × n matrix M is defined as
M a d j ( M ) = a d j ( M ) M = M I n  
It is unique and can be evaluated as the transpose of the matrix cofactors of M . Additional properties are scattered in almost any book on matrix theory [16,22,23,24,25].
Traditionally, following the definition of right ( w i ) and left ( q i ) eigenvectors of matrix A as,
A w i = λ i w i   and   q i T A = λ i q i T   for   i = 1 , 2 , , n
or collectively as,
A W = W Λ ,   and   Q T A = Λ Q T
W = w 1 w n , Q = q 1 q n , and Λ = d i a g ( λ i ) .
Where post-multiplying the second relationship in (12) by W ,
Q T A W = Λ Q T W Q T W Λ = Λ Q T W
Equation (13) shows that Q T W and Λ are commutative. Since matrices that commute with a diagonal matrix of distinct elements are themselves diagonal, we conclude that Q T W is diagonal, say Q T W = σ I n [18]. A proper ordering of the W and Q columns ensures that. Furthermore, with proper scaling of W , one can make Q T W = I n . In which case, Q T = W 1 . That is: the transpose of the left eigenvector matrix is the inverse of a properly scaled right eigenvector matrix. Conveniently, left eigenvectors are usually treated as row vectors q i T .
In light of the adjugate method, an alternative approach to the determination of left and right eigenvectors is the following.
Let λ be an eigenvalue of A , then A λ = λ I n A is singular of zero determinant. Using (10),
A λ a d j ( A λ ) = a d j ( A λ ) A λ = A λ × I n = 0 × I n = 0 n × n
When (10) is expressed as,
A λ a d j ( A λ ) = 0 n × n
A column of a d j ( A λ ) is a right eigenvectors of A .
When using the definition of a left eigenvector q i as in (11), i.e., q i T ( λ i I n A ) = 0 , and comparing it with (14) expressed as,
a d j ( A λ ) A λ = 0 n × n
A transposed left eigenvector ( q i T ) is a row of a d j ( A λ ) .
N.B.: q i T ( λ i I n A ) = 0 ( λ i I n A T ) q i = 0 . Thus, a left eigenvector is a right eigenvector of A T . It is a column of a d j ( λ i I n A T ) which is a column of ( a d j ( λ i I n A ) ) T [23,24,25].
Whenever A λ = λ I n A is nonsingular as is the case when assigning an eigenvalue not that of A , the adjugate of A λ = λ I n A gives m closed loop eigenvectors after post-multiplying a d j ( A λ ) by B , as will be proved below in Section 5.

5. Formula-Based Approach to the Determination of the Admissible Pair

The null space method [16,24,26] is a general purpose one; however, it is computationally the most demanding as it manipulates matrices of dimension ( 2 n + m ) × ( n + m ) . Besides, it is not a direct method in the sense of not explicitly giving w and z , neither a formula-based method.
Averting such shortcomings is therefore favorable. Our approach based on matrix adjugates fulfills such ambition as proved below.
Proposition 1. 
For λ i newly assigned (i.e., not already an eigenvalue of A ), z i is given by the open loop characteristic polynomial evaluated at the assigned eigenvalue λ i . Furthermore, the associated closed loop eigenvectors w i are given by w i = a d j ( λ i I n A ) B
Proof. 
Using (6)
λ i I n A B w i z i = 0 n × m
The solution w i z i T of (15) is, therefore, given by the null space of λ i I n A B . It remains the same solution as that of another matrix obtained by pre- multiplying (15) by any nonsingular matrix [24,27,28]. Since λ i I n A is nonsingular, its inverse is also nonsingular and therefore it qualifies as the pre-multiplying matrix, i.e., (15) has the same solution as the following system of equations [27,28].
( λ i I n A ) 1 λ i I n A B w i z i = 0 n × m
which has the same solution as that of
I n ( λ i I n A ) 1 B n × m w i z i = 0 n × m
I n a d j ( λ i I n A ) B n × m λ i I n A w i z i = 0 n × m
By direct substitution,
w i z i = μ a d j ( λ i I n A ) B n × m λ i I n A I m × m ; μ 0
The most simple solution is when μ = 1 , giving
w i = a d j ( λ i I n A ) B n × m
and
z i = λ i I n A I m = ( λ i n + a 1 λ i n 1 + a 2 λ i n 2 + a n 1 λ i + a n ) I m
where a i , i = 1 , 2 , , n , are the coefficients of the open loop characteristic polynomial.
Both w i and z i as in (20)–(21) are fundamental in our study and conveniently named an admissible pair.
Regarding the closed loop eigenvector w i , it is most simple, formula-based, taken directly without any concern to elaborate scaling. Regarding intuition, z i is justifiably interpreted as the open loop characteristic polynomial evaluated at the eigenvalue λ i to be assigned. Besides, z i is also formula-based and is determined independently of w i . Note that when m > 1 , z i is an m × 1 column matrix.
Considerable use of (20) and (21) is expected in our treatment of the subject matter with regard to outlining system structure and easing numerical determinations. In addition, MATLAB is used to facilitate all the calculations needed through its readily available n u l l functions. We comment on the nature of the two n u l l functions, though we adhere to the use of one of them for comparison purposes. □
Remark 1.
(i)
An n × n nonzero square matrix M can have any rank between 1 and n , but the rank of its adjugate is either n , or 1 .
Proof. 
 
If M is nonsingular, its adjugate is nonsingular, thus of rank n .
If M has rank n 2 , the adjugate is identically a zero matrix as stated in [23,24].
We are left with M of rank n 1 , which is singular, having a nontrivial null space given by the adjugate. Invoking the following standard theory in linear algebra [23,24]:
dim ( n u l l ( M ) ) = n r a n k ( M )
In our case, r a n k ( M ) = n 1 , hence,
r a n k ( a d j ( M ) ) = dim ( n u l l ( M ) ) = n ( n 1 ) = 1
The importance of this remark is that the adjugate method can only give at most a single nonzero independent column when a matrix has rank n 1 as is the case in many assignment problems concerning eigenvalue reassignment or uncontrollable systems.
This implies that any reassigned eigenvalue using the adjugate method cannot give more than a single closed loop eigenvector even when m > 1 . □
(ii)
If λ N is not an eigenvalue of A i.e., newly assigned, then z i and w i = a d j ( λ N I n A ) B cannot be zero and w i has rank equal to m .
Proof. 
 
Since λ i is not an eigenvalue of A, λ N I n A is nonsingular, implying λ N I n A is non-zero. Since z i = λ i I n A then z i is non-zero.
Furthermore, using properties of matrix adjugates, a d j ( λ i I n A ) is nonsingular having rank n . Hence,
r a n k ( w i ) = r a n k ( a d j ( λ i I n A ) B ) = min ( n , m ) = m 0
Therefore, the closed loop eigenvectors are nonzero and are m in number. □
(iii)
Abiding by our selection of the admissible pair as in (20) and (21), B does not influence zi.
Proof. 
 
Evident from z i = λ i I n A ; obviously independent of B .
This fact could not have been thought of while adhering to the null space method. The reason is that the solution given by that method is a lumped solution containing both w and z where B does not address either w or z as explicitly as the adjugate method. By a lumped solution, we mean an n + m × 1 vector where w is extracted as the top n components and z as the bottom m components. □
(iv)
A Procedure for Shaping the Closed Loop Eigenvectors.
Having settled on desired ratios between no more than m components of the closed loop eigenvectors [13], determine a D m × 1 matrix. To do that, obtain a square S m matrix using the corresponding rows from the W n × m matrix initially determined.
To illustrate, consider a two-input system i.e., m = 2 . To favor a ratio of 2 : 5 between the first and third components of a shaped closed loop eigenvector, let
D m × 1 = 2 5 , and S m = first row of W n × m third row of W n × m
such that S m is nonsingular. Then, solve for a matrix M m × 1 where
S m M m × 1 = D m × 1 M m × 1 = S m 1 D m × 1
Finally, use W s h as the shaped closed loop eigenvector where
W s h = W n × m M m × 1   and   z s h = z I m M m × 1
Bear in mind, you only have arbitrary control over m closed loop components. Requiring a shaping of more than m entries invalidates the method and ends up with a non-square S m matrix.

6. Instant Matrix Adjugate Related to a Companion Form

The idea is to show how a particular companion form yields direct information related to our study. This form is adopted by MATLAB [31] to obtain a state space representation of linear systems of a form known as a companion form (shown in (25) below).
This form arises out of modelling certain systems such as a series RLC circuit driven by a voltage source taking the inductor current and capacitor voltage, respectively, as the two states x 1 and x 2 [32]. As a practical application of such a circuit, it may represent the smoothing and filtering stage of a rectifier circuit [31]. A model of such a circuit will be considered in Section 6.1. followed by the relevant analysis.
This form gives direct information to the following:
  • Regarding stability: The system is unstable whenever at least a coefficient of positive sign exists in the first row.
  • The determinant of A is readily available given by ( 1 ) n + 1 A ( 1 , n ) .
  • The open loop characteristic polynomial coefficients excluding the highest power (which is always 1) are explicitly present as the negated numbers in the first row of A ; thus easing the determination of z i .
  • A right open loop eigenvector is a nonzero column of the adjugate. A closed loop eigenvector is obtained after post-multiplying the adjugate matrix by B .
  • A left open loop eigenvector is the transpose of a nonzero row of the adjugate.
  • The derivative of z = λ I n A is given by trace ( a d j ( λ I n A ) ) [23,24,25], thus, avoiding differentiation when determining d z d λ where the derivative is needed in the evaluation of the first generalized eigenvector as derived in Section 7.
Assuming a system matrix A m of no particular form obtained after modeling a general system. To get the companion matrix form, MATLAB, requires the system to be specified through the coefficients a i of its characteristic polynomial. To attain that, MATLAB can be used to obtain the characteristic polynomial using p = p o l y ( A m ) , yielding p = 1 a 1 a 2 a 3 for a third order system.
The coefficients of the new companion form are generated using A = c o m p a n ( p ) . The MATLAB A and B matrices assume the two forms shown below in (25). Note that, B is forced to attain the form given in (25) by the nature of the similarity transformation used. For a third order system, the companion form is strictly the following.
x = a 1 a 2 a 3 1 0 0 0 1 0 x + 1 0 0 u
It follows that
a d j ( A λ ) = a d j ( λ I n A ) = a d j λ + a 1 a 2 a 3 1 λ 0 0 1 λ = λ 2 a 2 λ a 3 a 3 λ λ λ ( λ + a 1 ) a 3 1 λ + a 1 λ ( λ + a 1 ) + a 2
When λ is an eigenvalue of A , A λ is singular. Therefore, all columns of the adjugate are linearly dependent as proved in Remark 1, Section 5. Using (26), the same eigenvector, but of different numeric values is obtained for the same open loop eigenvalue. Being linearly dependent, the columns representing the eigenvectors are scalar multiples of each other. So choose a convenient one, say λ 2 λ 1 T . In addition, as explained in Section 4, the rows of the adjugate matrix give the transposed left open loop eigenvectors. Once more, choose a convenient row such as 1 λ + a 1 λ ( λ + a 1 ) + a 2 . Convenience may be according to simplicity, minimum number of arithmetic operations, and/or avoiding mixtures of positive and negative signs (for memorizing purposes).
Beware. Some matrices may give zero columns. These cannot be used; one has to select another nonzero column in this case. In this regard λ 2 λ 1 T is always nonzero irrespective of λ i . It is also the simplest. The information above only applies to open loop systems.
When λ = λ N is not an eigenvalue of A , i.e., newly assigned, all columns of a d j ( λ N I n A ) are linearly independent and (26) is nonsingular. The corresponding closed loop eigenvector is the one ensuing after post-multiplying by B according to (20). With such form as in (25), the closed loop eigenvector w i is therefore dictated by the special simple form of the input matrix. It is given by
w N = a d j ( λ N I n A ) ] B = λ 2 a 2 λ a 3 a 3 λ λ λ ( λ + a 1 ) a 3 1 λ + a 1 λ ( λ + a 1 ) + a 2 λ = λ N × 1 0 0 = λ N 2 λ N 1
acting as a perfect explicit matrix formula for w N . The associated nonzero z N is
z N = λ N I n A
z N = λ N I n A = λ N 3 + a 1 λ N 2 + a 2 λ N + a 3
For higher order matrices, symbolic MATLAB can be used to determine the matrix adjugate after declaring a i (may use a i ) and λ (may use lam) as symbolic variables. For example, for a third order system, use MATLAB to execute.
≫syms lam a1 a2 a3; A = compan([1,a1,a2,a3]); I = eye(size(A)); Aj = adjoint(lam*I −A)

6.1. A Smoothing and Filtering Stage in a Rectifier Circuit

As a practical application, we first model a series R L C circuit in the state space. This smoothing circuit follows the rectification stage and precedes the regulation stage [32,33]. The series circuit consists of a voltage source together with a resistance, an inductance, and a capacitance, all connected in series. The states are chosen to represent the inductor current and the capacitor voltage respectively. The output of the circuit is the capacitor voltage. It can be easily shown that,
x ˙ 1 = R L x 1 1 L x 2 + 1 L u ,   x ˙ 2 = 1 C x 1 ,   y = x 2
In matrix form:
x = R / L 1 / L 1 / C 0 x + 1 / L 0 u ,   y = 0 1 x
The circuit is not completely in the exact MATLAB form, so we use the following similarity transformation to put it in that form. Let x ¯ 1 = x 1 , x ¯ 2 = C x 2 . The transformed system is now given by
x ¯ ˙ 1 = x ˙ 1 = R L x ¯ 1 1 L C x ¯ 2 + 1 L u
x ¯ ˙ 2 = C x ˙ 2 = x 1 = x ¯ 1
y = 0 1 / C x ¯
In matrix form,
x ¯ ˙ = R / L 1 / L C 1 0 x ¯ + 1 / L 0 u
or,
x ¯ ˙ = R / L 1 / L C 1 0 x ¯ + 1 0 u L , y = 0 1 / C x ¯
Equation (35) is not completely in the standard companion form as in (25). The closed loop eigenvectors are now given by
w i p = λ i 1 B = λ i 1 / L ,   z i p = λ i 2 + R L λ i + 1 L C = z i
To conform with the form of as in (27), both w i p and z i p in (36) are multiplied by L , yielding,
w i = λ i 1   ,   z i = L z i p
With this form; having specified two eigenvalues λ 1 and λ 2 together with their associated z 1 and z 2 , the feedback matrix K is systematically determined as
K = z 1 z 2 λ 1 λ 2 1 1 1
In essence, when having this form, there is no need to resort to matrix adjugates, nor to null spaces to determine w i . In addition, since the open loop characteristic polynomial is readily available through the entries in the first row of A , z i is easily determined using (21). Such systematic and explicit determination of the admissible pair stemmed from the use of the matrix adjugate approach and cannot be directly attributed to the traditional method.

7. Derivations for the Case of Repeated Eigenvalues

A modification is needed for the general case of assignment of repeated (identical) eigenvalues λ of algebraic multiplicity r [34]. In this case, all r eigenvectors are generated using
( A + B K ) w i + 1 = λ w i + 1 + w i , w 0 = 0 n × 1 , i = 0 , 1 , , r 1
Determination of generalized eigenvectors using the null space method requires:
First solving λ I A B w 1 z 1 = 0 n × 1 for w 1 , then to obtain w 2 solve,
λ I A B w 1 w 2 z 2 1 = 0 n × 1
The solution pattern repeats for the remaining generalized eigenvectors. Note that a 1 is enforced in the solution as imposed by the formulation in (39).
Essentially, once a method of solution determines the null space, the solution is normalized by dividing it by the nonzero last element of that solution to force it 1. Doing so, the final normalized solution contains w i + 1 and z i + 1 = 1 .
Using MATLAB, the function n u l l ( λ I A B w i , r ) does this by default.
In a quest of a formula-based solutions, an alternative method is to determine w 2 , w 3 , , w r as formula-based expressions. This will be derived below. Assume λ a repeated eigenvalue.
λ I A w 1 = B z 1
Differentiating both sides of (41) with respect to λ and rearranging.
λ I A ( d w 1 d λ ) = B ( d z 1 d λ ) + w 1
Using (39) to get the generalized eigenvector w 2 ,
λ I A w 2 = B z 2 + w 1
Matching (42) and (43) gives
w 2 = d w 1 d λ , z 2 = d z 1 d λ
Repeating the same procedure for the determination of w 3 , one gets
λ I A ( 1 2 d 2 w 1 d λ 2 ) = B ( 1 2 d 2 z 1 d λ 2 ) + w 2
Using (39),
λ I A w 3 = B z 3 + w 2
Matching (45) and (46) gives,
w 3 = 1 2 d 2 w 1 d λ , z 3 = 1 2 d 2 z 1 d λ
Generally,
w i + 1 = 1 i ! d i w 1 d λ , z i + 1 = 1 i ! d i z 1 d λ ; i = 1 , 2 , , r 1
The formula based approach above can be determined symbolically using MATLAB [35] as Example 3 demonstrates. It is conveniently used together with the adjugate method.
The negative signs in (44) to (48) can both be dispensed with without affecting the final determination of K . When making consistent sign changes within any admissible pair ( w i , z i ) , K remains invariant, i.e.,
K = z 1 z 2 z 3 w 1 w 2 w 3 1 = z 1 z 2 z 3 w 1 w 2 w 3 1

8. MATLAB Solutions in Relation to Those Given by the Adjugate Method

In MATLAB, the commands n u l l ( M ) and n u l l ( M , r ) can be used to solve (15). The n u l l ( M ) function [36] involves a normalization process when determining the null space vectors. By default, it gives answers of unity Euclidian norms. When comparing solutions due to different methods, care must be exercised when using this option. It is not used in our calculations. The following option by MATLAB suffices as it agrees with hand calculations using the row reduced echelon form ( r r e f ) method [30].
The MATLAB n u l l ( M , r ) function gives answers normalized such that the bottom m × m matrix of the solution is an identity matrix I m , i.e., the solution given by this option is forced to assume the following form w M r z M r = I m which is a standard procedure in linear algebra when determining null spaces of matrices using the r r e f method. The subscript M r refers to MATLAB solutions using n u l l ( M , r ) .
Relating the answers given by the adjugate method as in (20) and (21) to that given by MATLAB second option goes like this.
w M r z M r = n u l l ( λ i I n A B , r )
Relating the solution in (50) to those given by (20) and (21) represented as block matrices,
w a d j z a d j = w a d j λ i I n A I m = λ i I n A w a d j λ i I n A I m = λ i I n A w M r z M r = I m
Thus, obtaining the following conversions between the two methods.
w a d j = λ i I n A w M r   and   z a d j = λ i I n A z M r = λ i I n A I m
Equation (52) should be consulted both ways when employing a mixture of the two methods as in Example 3, i.e., a need to do conversion using (52).

9. Examples

Example 1
The case of an invertible B matrix offers maximum control over the selection of the closed loop eigenvectors. Due to the nonsingularity of B , either n components of the n closed loop right eigenvectors W or all n components of the n closed loop left eigenvectors can be arbitrarily assigned. To see this, consider the right eigenvectors given by an n × n   W matrix. Thus,
A + B K W = W Λ B K W = W Λ A W B K = W Λ W 1 A
Since B is square and invertible, a solution for K always exists; given by
K = B 1 ( W Λ W 1 A ) = B 1 ( Λ K A )
indicating that both W and Λ can be arbitrarily assigned. To assign the left eigenvectors, use Q T A + B K = Λ Q T to get
K = B 1 ( ( Q T ) 1 Λ Q T A ) = B 1 ( Λ K A )
Based on the theory above, consider the two-input system below.
x = 0 1 2 3 x + 1 0 0 1 u ; y = 1 0 0 1 x ; x ( 0 ) = 0 0
As (56) tells, the outputs are the states and D = 0 n × n . The system is meant to be simple enough to demonstrate the theory presented in Section 2. It can be easily solved even by hand calculation. The detailed solution is presented in Appendix A.
The idea is to show how preserving the same system eigenvalues, yet changing the eigenvectors, can modify the system time response, both in the transient and in the steady state.
The right-eigenvector matrix W associated with the 1 and 2 open loop eigenvalues is
W = 1 1 1 2 Q T = W 1 = 2 1 1 1
Following the theory presented in Appendix A, a substitution of these values for W and Q T together with e t and e 2 t in (1) is done. In order to compare the ensuing calculations with what MATLAB graphical solution gives, each input is solely activated. MATLAB s t e p function [33] gives a time record of each output due to an excitation of a single input. The time history of the responses is shown in Figure 1. As apparent from Figure 1, x 1 ( t ) and x 2 ( t ) due to the first input are not in harmony in the sense that x 1 ( t ) increases positively and x 2 ( t ) increases negatively: an undesirable case in certain applications of mechanical and electrical systems.
For the two states, the reader can easily compare the initial values and steady values as given by Figure 1 with those obtained from the state time solutions given in Appendix A. This is done by substituting t = 0 and t = , respectively. A perfect match.
The next step is to control the system preserving the eigenvalues 1 and 2 but changing the closed loop eigenvectors W K to a new arbitrary one, say, W K = 1 1 2 4 . This results in a left-eigenvector matrix.
Q K T = W K 1 = 2 0.5 1 0.5
Using either (54) or (55)
K = B 1 * ( Λ K A ) = 0 1.5 6 0 A K = A + B K = 0 0.5 4 3 = Λ K
as expected. The closed loop system matrix A K has 1 and 2 as closed loop eigenvalues, but now with an alternative set of associated eigenvectors; those given by W K .
The same calculations are repeated for the closed loop system using the new W K and Q K T . The calculations are presented at the end of Appendix A. MATLAB is used once more to do the simulation for the closed loop system. The time response is presented in Figure 2, which shows a different time response resulting from the change in the eigenvectors (note that the eigenvalues are invariant). Due to the first input, both x 1 ( t ) and x 2 ( t ) are now increasing in harmony in contrast to their behavior due to the original set of open loop eigenvectors, a virtue attributed to the new set of closed loop eigenvectors. This value is attributed to the use of eigenstructure assignment.
The open loop eigenvalues are retained.
Example 2
Munro, ref. [37] considered a linearized time-scaled open loop unstable chemical reactor given by
x = 1.38 0.2077 6.715 5.676 0.5814 4.29 0 0.675 1.067 4.273 6.654 5.893 0.048 4.273 1.343 2.104 x + 0 0 5.679 0 1.136 3.146 1.136 0 u
In our case, for the sake of demonstration, it is desired to assign the following four eigenvalues: −3 ± 8.5i, −0.7, and −6. These values are an approximation to the eigenvalues of the A matrix of a model used in [37].
Throughout the examples, 5 decimal significant digits are displayed as given by MATLAB format short. To display 15 digits, format long can be used. With both formats, MATLAB employs number rounding. By default, it uses double precision arithmetic.
Using (20), which is related to the adjugate method.
w C = a d j ( ( 3 + 8.5 i ) I 4 A ) B = 0.1459 + 0.2484 i 0.6432 + 0.1331 i 0.9405   4.9453 i 0.0131 + 0.0802 i 2.6218     0.8417 i 0.9188 + 2.0822 i 2.6516     0.8418 i 0.3808 + 0.1024 i × 10 3
Considering the second eigenvector within w C to get w 1 , w 2 , z 1 , and z 2 , i.e.,
w 12 = a d j ( ( 3 + 8.5 i ) I 4 A ) B 0 1 = 1.6432 + 0.1331 i 0.0131 + 0.0802 i 0.9188 + 2.0822 i 0.3808 + 0.1024 i × 10 3
Hence,
w 1 = r e a l ( w 12 ) = 1643.2 13.1 918.8 380.8 ,   w 2 = i m a g ( w 12 ) = 133.1 80.2 2082.2 102.4
According to (21), the z C accompanying w 12 is
z C = ( 3 + 8.5 i ) I 4 A 0 1 = 0 7945.6 + 409.78 i
Hence,
z 1 = r e a l ( z C ) = 0 7945.6 ,   z 2 = i m a g ( z C ) = 0 409.78
To simplify arithmetic, one can employ the real and imaginary parts of the pair ( w i , z i ) and avoid complex number manipulation. To assign 3 ± 8.5 i , real number arithmetic is only used in the determination of K as justified below.
For a general fourth order system, to simplify matters; parts related to the complex eigenvalues and eigenvectors are only accentuated. Let W = W R + i W I and Z = Z R + i Z I be associated with a generic eigenvalue say σ + i ω , then,
K = Z R + i Z I Z R i Z I W R + i W I W R i W I 1
K = Z R Z I 1 1 1 i i 1 W R W I 1 1 1 i i 1 1
K = Z R Z I 1 1 1 i i 1 1 1 1 i i 1 1 W R W I 1
K = Z R Z I W R W I 1
i.e., we can avoid computations involving complex numbers and only involve real number arithmetic since Z R , Z I , W R and W I are all real.
To assign 0.7 , one may use the first closed loop eigenvector, i.e., w 3 is given by
w 3 = a d j ( 0.7 I 4 A ) B 1 0 = 213.2098 39.6625 597.4124 627.1864
With associated
z 3 = 0.7 I 4 A 1 0 = 71.3018 1 0 = 71.3018 0
To assign 6 . For the sake of demonstration, one may use the second closed loop eigenvector associated with 6 , i.e., w 4 is given by
w 4 = a d j ( 6 I 4 A ) B 0 1 = 120.2254 41.4320 132.0392 1.4068
With associated
z 4 = 6 I 4 A 0 1 = 121.8635 0 1 = 0 121.8635
Using (9),
K 1 = z 1 z 2 z 3 z 4 w 1 w 2 w 3 w 4 1
K 1 = 0.0274 0.0641 0.0059 0.1060 4.4156 9.2451 0.1762 1.9179
Executing the MATLAB command “ e i g A + B * K ” verifies the assignment of the four eigenvalues.
Suppose now that the eigenvectors associated with the two eigenvalues 0.7 and 6 are to be shaped. The ratio of the first to the fourth entries of the shaped closed loop eigenvector pertinent to −0.7 is a ratio of 2:1. The ratio of the second to the third entries of the shaped closed loop eigenvector pertinent to −6 is a ratio of 3:5. Relevant is remark iv in Section 5.
Using (20), the two eigenvectors associated with w 3 are
w 3 = 213.2098   41.13789 39.6625 8.5490 597.4124 55.9057 627.1864 80.9017
then M 3 is calculated as follows (pick first and fourth rows of w 3 ).
213.2098 41.1379 627.1864 80.9017 M 3 = 2 1 M 3 = 0.0028 0.0341
Consequently,
w 3 s = w 3 M 3 = 2 0.1803 0.2313   1 ; z 3 s = 71.3018 0 0 71.3018 M 3 = 0.1999 2.4307
The two eigenvectors associated with w 4 are
w 4 = 58.3418 120.2254 615.5087 41.4320   453.9891   132.0392 483.7589 1.4068
then M 4 is calculated as follows (pick second and third rows of w 4 ).
615.5087 41.4320 453.9891 132.0392 M 4 = 3 5 M 4 = 0.0097 0.0711
Finally,
w 4 s = w 4 M 4 = 7.9816 3 5   4.5723 ; z 4 s = 121.8635 0 0 121.8635 M 4 = 1.1770 8.6615
Using (9),
K 2 = z 1 z 2 z 3 s z 4 s w 1 w 2 w 3 s w 4 s 1
K 2 = 0.1028   0.0170 0.0130 0.4114 8.2297 2.5605 0.4413 13.6691
This is a different K from that in (72), assigning the same eigenvalues, but different eigenvectors. The combined influence of the old set of eigenvalues with the newly shaped eigenvectors will yield a different time response.
Example 3
Consider the unstable system.
x = 5 3 3 0 6 3 4 0 0 1 0 1 0 0 0 3 x + 1 0 0 1 u
It is required to assign 2 ± i , 5 , and 5 . The open loop characteristic polynomial is.
z = λ I 4 A = λ 4 + 5 λ 3 + 5 λ 2 5 λ 6
To assign the two eigenvalues 2 ± i , calculations for one eigenvalue say 2 + i suffices. Using (20).
w C = a d j ( ( 2 + i ) I 4 A ) B = 9 + i 12 + 10 i 4 8 i 4 + 2 i
Hence,
w 1 = r e a l ( w C ) = 9 12 4 4 , w 2 = i m a g ( w C ) = 1 10 8 2
Using (21),
z ( 2 + i ) = 2 + 6 i z 1 = r e a l ( z C ) = 2 , z 2 = i m a g ( z C ) = 6
To assign 5 and 5
w 3 = a d j ( 5 I 4 A ) B = 84 78 30 72 , and z 3 = z ( 5 ) = 144
Since 5 is a repeated eigenvalue, one way to determine w 4 and z 4 is using the first order derivative of both w 3 and z 3 with respect to λ as given by (44). MATLAB was used to do that symbolically. In which case, the closed loop eigenvectors in terms of a general λ are given by.
w ( λ ) = λ 3 10 λ 9 6 λ 2 14 λ + 2 λ 2 4 λ 15 λ 3 + 2 λ 2 λ 2
To validate (87), w 3 = w ( 5 ) = 84 78 30 72 T as already obtained using the adjugate method, using (87) to determine w 4 where w 4 is the first generalized eigenvector pertinent to 5 . Hence, use (44) to get the first derivative.
w 4 = d w ( λ ) d λ λ = 5 = 3 λ 2 10 12 λ 14 2 λ 4 3 λ 2 + 4 λ 1 λ = 5 = 65 46 14 54
z 4 = d z d λ λ = 5 = 4 λ 3 + 15 λ 2 + 10 λ 5 λ = 5 z 4 = 180
Thus, using (9),
K 1 = z 1 z 2 z 3 z 4 w 1 w 2 w 3 w 4 1 K 1 = 2 6 144 180 9 1 84 65 12 10 78 46 4 8 30 14 4 2 72 54 1 K 1 = 16.4 16.6 19.8 7.4
Once more, for the sake of exercise and for checking the answer through an alternative approach, the eigenvectors associated with 5 are now determined using the traditional null space method.
Having obtained w 3 using the adjugate method, we now use (52) bearing in mind that z 3 M r = 1 and
w 3 = w 3 M r = w 3 a d j / z 3 a d j = 84 78 30 72 T / 144 = 0.5833 0.5417 0.2083 0.05
Equation (91) is now used to determine the null space solution for the w 4 generalized eigenvector using (40). If μ 1 , the solution vector is divided by μ , i.e.,
λ 3 I 4 B w 3 w 4 z 4 μ = 0 4 × 1
0 3 3 0 1 0.5833 6 8 4 0 0 0.5417 0 1 5 1 0 0.2083 0 0 0 2 1 0.05 w 4 z 4 μ = 0 4 × 1
Using MATLAB n u l l ( 5 * e y e ( 4 ) A B w 3 , r ) ,
w 4 z 4 μ = 0.5833 0.2778 0.5417 0.3576 0.208 0.1632 0.5 0.25 1 0 = z 4 0 nonzero , 1 = μ 0 vector rejected vector accepted , hence , w 4 = 0.2778 0.3576 0.1632 0.25 , z 4 = 0 , μ = 1
Two solutions are obtained. The one ending with a nonzero element for μ is adopted for w 4 . It turns out that μ already equals 1 , so no need for normalization. Moreover, the other solution given by the first column is w 3 . It cannot be used as it results in a singular eigenvector matrix having no inverse. Hence,
K 2 = 2 6 1 0 w 1 w 2 w 3 w 4 1 = 16.4 16.6 19.8 7.4
The same answer as in (90) as it should be since the system is single input and controllable.
Addendum
To assign four repeated eigenvalues on the imaginary axis, they should have the form ± ω i and ± ω i . This is due to the conjugacy of the eigenvalues of real-number matrices. For the sake of simplicity, let the eigenvalues be i, i, −i, and –i. In this case, the adjugate method requires determination of an eigenvector and its derivative for one eigenvalue say i. Utilizing their conjugates, the eigenvectors for the –i eigenvalues are determined. Using the adjugate method together with MATLAB with λ = ω i
w 1 = λ 3 10 λ 9 6 λ 2 14 λ + 2 λ 2 4 λ 15 λ 3 + 2 λ 2 λ 2 λ = ω i = 9 + ( ω 3 10 ω ) i 2 + 6 ω 2 14 ω i 15 ω 2 4 ω i 2 2 ω 2 + ( ω 3 ω ) i
and
w 2 = w d = d w d λ = 3 λ 2 10 12 λ 14 2 λ 4 3 λ 2 + 4 λ 1 λ = ω i = 10 3 ω 2 14 12 ω i 4 2 ω i 1 3 ω 2 + 4 ω i
The remaining two eigenvectors are w 3 = w 1 ¯ and w 4 = w 2 ¯ ,where the bar indicates complex conjugacy.
The characteristic polynomial and its derivative at λ = ω i are needed, where
p ( λ ) = λ 4 + 5 λ 3 + 5 λ 2 5 λ 6
z 1 = p ( λ ) λ = ω i = λ I n A λ = ω i = 6 5 ω 2 + ω 4 + ( 5 ω 3 5 ω ) i
z 2 = p ( 1 ) ( λ ) λ = ω i = 5 15 ω 2 + ( 4 ω 3 + 10 ω ) i
Similarly,
z 3 = z 1 ¯   and   z 4 = z 2 ¯
Hence, when ω = 1
Z =   10   10 i 20 + 6 i 10 + 10 i 20     6 i  
W = 9   11 i 13 9 + 11 i 13 8   14 i 14   12 i 8 + 14 i 14 + 12 i 16     4 i 4 + 2 i 16 + 4 i 4     2 i 4     2 i 4 + 4 i 4 + 2 i 4     4 i
K = Z W 1 = 706 349 367 931 / 45 = 15.6889 7.7556 8.1556 20.6889
resulting in the assignment of i, i, −i, −i as closed loop eigenvalues on the imaginary axis.
In addition, a well-known and interesting problem in discrete systems design is that of dead-beat control, where all n eigenvalues are located at the origin. In such case of repeated eigenvalue assignment, we need to differentiate the eigenvector as determined by the adjugate method three times and evaluating all n eigenvectors at λ = 0 . Thus, the calculations are considerably simplified. The same is done to the open loop characteristic polynomial and three of its derivatives at λ = 0 to get Z .
Doing so, we get
W = 9 10 0 6 2 14 12 0 15 4 2 0 2 1 4 6
K = Z W 1 = 469 233.5 238 694 / 45 = 10.4222   5.1889   5.2889 15.4222
Example 4
In this example we consider a model of a practical electrical system; that of a DC motor. DC motors are widely used in control applications such as robotics, tape drives and autotronics. The motor has many advantages, among which are high startup torque and fast response times to starting, stopping, reversing, and acceleration. In addition, to easy control of speed with moderate voltage or current inputs.
Almost any book on control systems goes through the modeling of an armature control DC motor to a certain degree of complexity [16,33,38]. We shall refer to a research paper [38] which tackles an armature controlled DC motor used in robotics. However, the model in that paper has been represented by a block diagram model. We take the liberty and derive a state space model of that motor. To do that, we replace T m by its equivalent K m i a , T d by d for convenience, and adopt the following state variables assignment: x 1 for the angular displacement ( θ ), x 2 for the angular velocity ( ω ), and x 3 for the armature current ( i a ). The output y is the angular velocity x 2 . The armature voltage is u and the load disturbance is d .
We obtain the following state space model. It is a two-input, single output model.
x ˙ 1 = x 2
x ˙ 2 = b J x 2 + K m J x 3 1 J d
x ˙ 3 = K b L x 2 R L x 3 + 1 L u
y = 0 1 0 x
In matrix form,
x ˙ = 0 1 0 0 b / J K m / J 0 K b / L R / L x + 0 0 0 1 / J 1 / L 0 u d , y = 0 1 0 x
where J is the motor moment of inertia, b is viscous friction coefficient, K m is motor constant, K b is back electromotive force coefficient, R and L are the armature resistance and inductance, respectively. Numerical values for these coefficients are not given in [38]. Therefore, for the sake of demonstration we use the following values which may pertain to an existing generic DC motor: (source: directindustory.com, 2011). They are: J = 0.0211 K g . m 2 ; b = 0.002953 N . m . s ; K m = 0.516 N . m / A K b = 1.25 V . s / r a d ; R = 2.581 Ω ; L = 0.0281 H .
Substituting the parameters listed above in (100), we get
x = 0 1 0 0 0.1336 23.3484 0 18.3630 91.8505 x + 0 0 0 45.2489 35.5872 0 u , y = 0 1 0 x
The open loop eigenvalues are { 0 , 5.0745 , 86.9097 . As we are concentrating on the speed control of such a motor, with no intention to control the position of the motor, we seek a controller which retains the zero eigenvalue. To speed up the system we choose closed loop eigenvalues which are almost two-folds of the open loop ones, say { 0 , 10 , 200 } . Using the adjugate method with eigenvector shaping, the procedure followed in Example 2 and in Example 3 is repeated.
In our design, a closed loop eigenvector w 1 = 1 0 0 T together with z 1 = 0 are associated with λ 1 = 0 . The other two eigenvectors associated with λ 2 = 10 and λ 3 = 200 are shaped with ratios 2 : 1 and 1 : 1 between the second and third entries of w 2 and w 3 , respectively.
To avoid any unnecessary repetition, the calculations needed are the same as those carried out in Example 2 and Example 3. We therefore content ourselves with the following final results.
Z = z 1 z 2 z 3 = 0 1.2680 3.550 0 0.0799 3.9010 W = w 1 w 2 w 2 = 1 0.2 0.005 0 2 1 0 1 1
Consequently,
K = Z W 1 = 0 48230 8.3780 0 3.9810 7.8820
Yielding
x = 0 1 0 0 0.1336 23.3484 0 18.3630 91.8505 x + 0 0 0 45.2489 35.5872 0 u , y = 0 1 0 x
The steady state value due to a step input is [33],
y s s = C x s s = x 2 s s = A M 1 B v , B v = 0 1 0 0 0 1 B U 0 0 d
were y s s and x s s are steady state values. A M and B v as defined in (114) and (115). The armature voltage is U and d is the disturbing value.
MATLAB s t e p function [33] gives a time record of the outputs due to an excitation of a single input at a time. The time history of the motor output is shown in Figure 3.
The open loop response is depicted in Figure 3, which shows the motor steady state speed reaching 94 rpm due to a 50 V armature voltage and −9.4 rpm due to a unit step disturbance. Both reached within a time interval of about 1.2 s. Using (115), the exact calculated steady state values are 94.2026 rpm and −9.4239 rpm, respectively, where A M is now obtained from (111).
The closed loop system response as a result of K as in (113) is depicted in Figure 4. It shows the motor steady state speed reaching 337 rpm due to a 50 V armature voltage and −8.8 rpm due to a unit step disturbance. Both were reached within a time interval of about 0.6 s. This gives a clear indication of the effect of feedback in increasing the motor speed and in reducing the time to reach the steady state. Using (115), the exact calculated steady state values are 338.0783 rpm and −8.8235 rpm, respectively.
The example undoubtedly demonstrates the role played by the eigenvectors in shaping the system response. Every choice of the ratios of the closed loop eigenvector entries makes a difference on the final speed and the settling time. Experimenting with alternatives values for the ratios proves that. Note that the feedback matrix K , the settling time, and the speed will differ every time a ratio is changed, though the closed loop eigenvalues remain invariant at 0 , 10 , 200 . That is due to the influence of the closed loop eigenvectors in shaping the system response both in the transient and the steady state.
The program used to do the calculations and the simulations acquired for Example 4 are listed in Appendix B. It is provided for validating the results and for readers’ experimentation with alternative ratios of eigenvectors entries.

10. Conclusions

The null space method is a general purpose method, though it is computationally more demanding compared to the adjugate method. Moreover, it is not a direct method for the individual determination of the admissible pair w and z .
The adjugate method proves a worthy method for exposing internal structures within the eigenstructure assignment problem. With regard to the lumped solution as given by traditional methods, the adjugate method offers decoupled solutions for each component of the admissible pair ( w , z ) , which is considered advantageous. A new feature is highlighted and emphasized regarding a fundamental role played by the open loop characteristic polynomial. This point is overshadowed by other methods related to eigenstructure as well as to methods of eigenvalue assignment in general.
Additional insight has been gained by the use of the adjugate method. For the case of assigning a new eigenvalue not that of A : z has been proved to be nonzero and not influenced by the system input matrix B , regardless of a system being controllable or otherwise.
The adjugate method attests itself as a formula-based method. It is explicit and independently determines both w i and z i . This is considered an advantage since closed forms methods are pedagogically favorable. Such independent determination of the admissible pair can be looked upon as a form of parallelism which is always desirable.
Special forms ease calculations both in analysis and in design through their readily available information such as the characteristic polynomial and the stability of the open loop system in certain cases. Besides, the columns and rows of the adjugate of λ i I n A represent the right and left eigenvectors and its trace determines the derivative of the characteristic polynomial with respect to λ . All such features ease analysis and design.
The four examples presented have illustrated the various concepts and notions with the help of MATLAB which proves an admirable software when it comes to control theory studies. MATLAB proves very helpful when it comes to complex number calculations and visualization in addition to its symbolic calculations.
As for shortcomings of the adjugate method, numerical issues may arise as the dimensions of the system get higher; however, this shortcoming also applies to the traditional method. In this case, more numerically efficient methods such as the Faddeev–Leverrier’s algorithm for determining the matrix adjugate may be considered [39]. Special matrix forms other than companion forms are also worth considering in forthcoming studies.
Future works should consider methods which simplify assignment issues related to partial eigenstructure assignment for both cases of controllable and uncontrollable systems, for both single-input and multi-input systems.

Funding

This research received no external funding.

Acknowledgments

The author acknowledges that this research has been carried out while on sabbatical leave (2021–2022 academic year) from the University of Jordan, Amman, Jordan.

Conflicts of Interest

The author declares no conflict of interest.

Nomenclature

ASystem matrix
BInput matrix
u Signifies the system input
nNumber of states
mNumber of inputs
aiGeneral polynomial coefficient
viSignifies a right eigenvector in general
qiSignifies a left eigenvector in general
λSignifies an eigenvalue in general
w Signifies a closed loop eigenvector
z Signifies a closed loop eigenvector companion
KFeedback matrix
iComplex number 1
C ¯ Complex conjugate
RealReal part of a complex number
ImagImaginary part of a complex number
ΛSignifies an upper triangular matrix
AdjAdjugate of a matrix
NullNull space of a matrix
M Determinant of a matrix
A λ Equals to λ I n A
rankSignifies rank of a matrix
dimSignifies dimension of a matrix

Appendix A. See Example 1

For a linear time invariant system represented by x = A x + B u
x ( t ) = e A t x ( 0 ) + 0 t e A ( t τ ) B u ( τ ) d τ
x ( t ) = x h ( t ) + x p ( t )
x ( t ) h = e A t x ( 0 ) = V e Λ t V 1 x ( 0 )
x h ( t ) = v 1 v 2 e λ 1 t 0 0 e λ 2 t w 1 T w 2 T x ( 0 )
= e λ 1 t v 1 e λ 2 t v 2 w 1 T x ( 0 ) w 2 T x ( 0 )
= e λ 1 t v 1 × w 1 T x ( 0 ) + e λ 2 t v 2 × w 2 T x ( 0 )
which shows the role of the left eigenvectors regarding the initial condition in the transient response. Generally, x h ( t ) = i = 1 n v i e λ i t w i T x ( 0 ) . The forced response is given by
x p ( t ) = 0 t V e Λ ( t τ ) V 1 B u ( τ ) d τ
x p ( t ) = 0 t V e Λ ( t τ ) V 1 B u ( τ ) d τ
= 0 t v 1 e λ 1 ( t τ ) w 1 T + v 2 e λ 2 ( t τ ) w 2 T B u ( τ ) d τ
Or, generally,
x p ( t ) = i = 1 n v i e λ i t 0 t e λ i τ w i T B u ( τ ) d τ
which shows the role of the left eigenvectors regarding the inputs in the steady state response.
Due to step inputs of amplitude κ .
x p ( t ) = v 1 w 1 T e λ 1 t 0 t e λ 1 τ d τ + v 2 w 2 T e 2 t 0 t e 2 τ d τ B κ
For the case of the open loop system considered in example 1, where λ 1 = 1 and λ 2 = 2 , B = I 2 , and u 1 ( t ) = u 2 ( t ) = 1
V = 1 1 1 2 W T = 2 1 1 1
x p ( t ) due to the first unit step input.
x p ( t ) = 1 1 e t ( e t 1 ) × 2 1 1 0 + 1 2 e 2 t ( e 2 t 1 ) 2 1 1 1 0
which shows the role of the left eigenvectors in row multiplying the input.
x p ( t ) = 2 × 1 1 ( 1 e t ) + 1 2 ( 1 e 2 t ) × 1 2
= 2 2 e t + 1 2 e 2 t 1 2 2 + 2 e t e 2 t + 1 = 1.5 2 e t + 0.5 e 2 t 1 + 2 e t e 2 t
x p ( t ) due to the second unit step input.
x p ( t ) = 1 1 e t ( e t 1 ) × 2 1 0 1 + 1 2 e 2 t ( e 2 t 1 ) 2 1 1 0 1
= 1 1 ( 1 e t ) 1 2 × 1 2 ( 1 e 2 t )
= 0.5 e t + 0.5 e 2 t e t e 2 t
For the case of the closed loop system considered in example 1, where λ 1 = 1 and λ 2 = 2 are preserved, but the right eigenvectors are changed to
V = 1 1 2 4 W T = 2 0.5 1 0.5
x p ( t ) due to the first unit step input.
x p ( t ) = 1 2 e t ( e t 1 ) × 2 0.5 1 0 + 1 4 e 2 t ( e 2 t 1 ) 2 1 0.5 1 0
which shows the role of the left eigenvectors in row multiplying the input.
= 2 × 1 2 ( 1 e t ) + 1 4 ( 1 e 2 t ) × 1 2
= 2 × 1 2 ( 1 e t ) + 1 4 ( 1 e 2 t ) × 1 2
x p ( t ) due to the second unit step input.
x p ( t ) = 1 2 e t ( e t 1 ) × 2 0.5 0 1 + 1 4 e 2 t ( e 2 t 1 ) 2 1 0.5 0 1
= 1 2 × 1 2 ( 1 e t ) + 1 4 × 1 4 ( 1 e 2 t )
= 0.25 + 0.5 e t 0.25 e 2 t e t e 2 t

Appendix B. See Example 4

% Example on speed control of a DC motor with disturbing input.
J = 0.0221; b = 0.002953; k = 0.516; R = 2.581; L = 0.0281; % Motor parameters.
% Obtaining system matrices A, B, C, and D.
A = [0 1 0;0 −b/J k/J;0 −k/L −R/L], I = eye(size(A));
B = [0 0;0 −1/J;1/L 0], C = [0,1,0]; D = 0; U = 50; d = 1;
% To determine the feedback controller using the adjugate method.
w1 = [1;0;0], z1 = [0;0], % To assign lambd1 = 0
lam2 = −10; w22 = adj(lam2*I − A)*B, m2 = inv(w22(2:3,:))*[2;−1], % To assign lambd2 = −10
w2 = w22*m2, z2 = polyval(poly(A),lam2)*m2
lam3 = −200; w32 = adj(lam3*I − A)*B,m3 = inv(w32(2:3,:))*[1;−1], % To assign lambd3 = −200
w3 = w32*m3, z3 = polyval(poly(A),lam3)*m3
Kj = [z1 z2 z3]*inv([w1 w2 w3]),% The feedback matrix. Kj changes with other ratios. Try.
Aj = A + B*Kj; % The closed loop system matrix.
Bv = [U*B(:,1), d*B(:,2)]; % Introducing the two input values.
figure(4), step(Aj,Bv,C,D),grid, % The output step response. This is line 17
xss = −inv(Aj(2:3,2:3))*Bv(2:3,:); % Steady state values for x2 and x3. This is line 18
yss = [xss(1,1), xss(1,2)], % Steady state motor speed due to U and d.
% Important Remark: For the open loop response, Replace Aj by A in lines 17–18.

References

  1. Moore, B.C. On the Flexibility Offered by State Feedback in Multivariable Systems Beyond Closed Loop Eigenvalue Assignment. IEEE Trans. Autom. Control 1976, 21, 689–692. [Google Scholar] [CrossRef]
  2. Klein, G.; Moore, B.C. Eigenvalue Generalized eigenvector assignment with state feedback. IEEE Trans. Autom. Control 1977, 22, 140–141. [Google Scholar] [CrossRef]
  3. Liu, G.P.; Patton, R.J. Eigenstructure Assignment for Control System Design; John Wiley & Sons: New York, NY, USA, 1998. [Google Scholar]
  4. Liu, G.P.; Patton, R.J. Eigenstructure Assignment Toolbox for Use with MATLAB; Pacilantic International Ltd.: Oxford, UK, 1999. [Google Scholar]
  5. White, B.A. Eigenstructure Assignment: A Survey. Proc. Inst. Mech. Eng. 1995, 209, 1–11. [Google Scholar] [CrossRef]
  6. Andry, A.N.; Shapiro, E.Y.; Chung, J.C. Eigenstructure assignment for linear systems. IEEE Trans. Aerosp. Electron. Syst. 1983, 19, 711–728. [Google Scholar] [CrossRef]
  7. Porter, B.; D’Azzo, J.J. Algorithm for the Synthesis of State-Feedback Regulators by Entire Eigenstructure Assignment. Electron. Lett. 1977, 13, 230–231. [Google Scholar] [CrossRef]
  8. Porter, B. Eigenvalue assignment in linear multivariable systems by output feedback. Int. J. Control 1977, 25, 483–490. [Google Scholar] [CrossRef]
  9. Porter, B.; D’Azzo, J.J. Closed loop eigenstructure assignment by state feedback in multivariable linear systems. Int. J. Control 1978, 27, 487–492. [Google Scholar] [CrossRef]
  10. Porter, B.; D’Azzo, J.J. Algorithm for closed loop eigenstructure assignment by state feedback in multivariable linear systems. Int. J. Control 1978, 27, 943–947. [Google Scholar] [CrossRef]
  11. Kautsky, J.; Nichols, N.; van Dooren, D.P. Robust Pole Assignment in Linear State Feedback. Int. J. Control 1985, 41, 1129–1155. [Google Scholar] [CrossRef]
  12. Inman, D.J. Vibration with Control; John Wiley & Sons Ltd.: Chichester, UK, 2006. [Google Scholar]
  13. Srinathkumar, S. Eigenstructure Control Algorithms: Application to Aircraft/Rotorcraft Handling Qualities Design; The Institution of Engineering and Technology IET 74: London, UK, 2011. [Google Scholar]
  14. Littleboy, D.M. Numerical Techniques for Eigenstructure Assignment by Output Feedback in Aircraft Applications. Ph.D. Thesis, University of Reading, Reading, UK, December 1994. [Google Scholar]
  15. D’azzo, J.J.; Houpis, C.H. Linear Control Systems: Analysis and Design, 4th ed.; McGraw-Hill: New York, NY, USA, 1995. [Google Scholar]
  16. Houpis, C.H.; Sheldon, S.N. Linear Control System Analysis and Design with MATLAB, 6th ed.; CRC Press, Taylor & Francis Group: New York, NY, USA, 2014. [Google Scholar]
  17. Gu, D.K.; Wang, R.Y.; Liu, Y.D.A. A parametric approach of partial eigenstructure assignment for high-order linear systems via proportional plus derivative state feedback. AIMS Math. 2021, 6, 11139–11166. [Google Scholar] [CrossRef]
  18. Duan, G.R. Circulation algorithm for partial eigenstructure assignment via state feedback. Eur. J. Control 2019, 50, 107–116. [Google Scholar] [CrossRef]
  19. Bernal, D.; Ulriksen, M.D. Output feedback in the design of eigenstructures for enhanced sensitivity. Mech. Syst. Signal Process. 2018, 112, 22–30. [Google Scholar] [CrossRef]
  20. Rastgaar, M.; Ahmadian, M.; Southward, S. A review on eigenstructure assignment methods and orthogonal eigenstructure control of structural vibrations. Shock and Vibration. Shock Vib. 2009, 16, 555–564. [Google Scholar] [CrossRef]
  21. Köthe, A.; Luckner, R. Applying Eigenstructure Assignment to Inner-Loop Flight Control Laws for a Multibody Aircraft. CEAS Aeronaut. J. 2022, 13, 33–43. [Google Scholar] [CrossRef]
  22. Prewett, P. Foundation Mathematics for Science and Engineering Students; Springer: Berlin/Heidelberg, Germany, 2022. [Google Scholar]
  23. Wikipedia. Adjugate Matrix. 2022. Available online: https://en.wikipedia.org/wiki/Adjugate_matrix (accessed on 1 October 2022).
  24. Horn, R.A.; Johnson, C.R. Matrix Analysis, 2nd ed.; Cambridge University Press: Cambridge, MA, USA, 2013. [Google Scholar]
  25. Brookes, M. The Matrix Reference Manual; Imperial College: London, UK, 2021; Available online: http://www.ee.imperial.ac.uk/hp/staff/dmb/matrix/intro.html (accessed on 30 September 2022).
  26. Wikipedia. Kernel. Available online: https://en.wikipedia.org/wiki/Kernel_(linear_algebra) (accessed on 30 September 2022).
  27. Lerner, D. Lecture Notes on Linear Algebra; Department of Mathematics, University of Kansas: Kansas, TX, USA, 2008; Available online: https://www-labs.iro.umontreal.ca/~grabus/courses/ift6760_files/LANotes.lerner.pdf (accessed on 30 September 2022).
  28. Golub, G.H.; van Loan, C.F. Matrix Computations, 4th ed.; Johns Hopkins University Press: Baltimore, MD, USA, 2013. [Google Scholar]
  29. Garcia, S.R.; Horn, R.A. Block Matrices in Linear Algebra. In PRIMUS: Problems, Resources, and Issues in Mathematics Undergraduate Studies; Taylor & Francis Group, LLC.: New York, NY, USA, 2020; Volume 30, pp. 285–306. [Google Scholar] [CrossRef]
  30. Beezer, R.A. A First Course in Linear Algebra; Version 3.5.; University of Puget Sound, Congruent Press: Tacoma, WA, USA, 2015; Available online: https://open.umn.edu/opentextbooks/textbooks/5 (accessed on 30 September 2022).
  31. MATLAB by Mathworks, Command: Compan. 2020. Available online: http://www.mathworks.com/help/control/ref/place.html (accessed on 1 October 2022).
  32. Neamen, D.A. Microelectronics: Circuit Analysis and Design, 4th ed.; McGraw Hill: New York, NY, USA, 2010. [Google Scholar]
  33. Ogata, K. Modern Control Engineering, 5th ed.; Prentice Hall: Hoboken, NJ, USA, 2010. [Google Scholar]
  34. Chen, C.T. Linear System theory and Design, 4th ed.; Oxford University Press: Oxford, UK, 2013. [Google Scholar]
  35. MATLAB by Mathworks. Command: Diff. Release R2022a. 2022. Available online: https://www.mathworks.com/help/symbolic/diff.html (accessed on 1 October 2022).
  36. MATLAB by Mathworks. Command: Null. Release R2022a. 2022. Available online: https://www.mathworks.com/help/matlab/ref/null.html (accessed on 1 October 2022).
  37. Munro, N. Design of Controller for an Open-Loop Unstable Multivariable System Using the Inverse Nyquist Array. Proc. Inst. Electr. Eng. 1972, 119, 1377–1382. [Google Scholar] [CrossRef]
  38. Foldager, F.; Thomsen, D.; Li, H.; Frederiksen, K.; Andersen, A.; Zhang, X. Electrical-Mechanical Dynamic Modelling and Testing of a Lightweight-Link Robot Manipulator. In Proceedings of the World Congress on Mechanical, Chemical, and Material Engineering (MCM 2015), Barcelona, Spain, 20–21 July 2015; Paper No. 251. pp. 251-1–259-9. [Google Scholar]
  39. Helmberg, G.; Wagner, P.; Veltkamp, G. On Faddeev-Leverrier’s method for the computation of the characteristic polynomial of a matrix and of eigenvectors. Linear Algebra Its Appl. 1993, 185, 219–233. [Google Scholar] [CrossRef] [Green Version]
Figure 1. Open loop system unit-step time response.
Figure 1. Open loop system unit-step time response.
Electronics 11 04011 g001
Figure 2. Closed loop system unit-step response due to an alternative set of eigenvectors.
Figure 2. Closed loop system unit-step response due to an alternative set of eigenvectors.
Electronics 11 04011 g002
Figure 3. Open loop motor speed. Input 1 is armature voltage and input 2 is a step disturbance.
Figure 3. Open loop motor speed. Input 1 is armature voltage and input 2 is a step disturbance.
Electronics 11 04011 g003
Figure 4. Closed loop motor speed. Input 1 is armature voltage and input 2 is step disturbance.
Figure 4. Closed loop motor speed. Input 1 is armature voltage and input 2 is step disturbance.
Electronics 11 04011 g004
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

El-Ghezawi, O.M.E. Eigenstructure through Matrix Adjugates and Admissible Pairs. Electronics 2022, 11, 4011. https://doi.org/10.3390/electronics11234011

AMA Style

El-Ghezawi OME. Eigenstructure through Matrix Adjugates and Admissible Pairs. Electronics. 2022; 11(23):4011. https://doi.org/10.3390/electronics11234011

Chicago/Turabian Style

El-Ghezawi, Omar M. E. 2022. "Eigenstructure through Matrix Adjugates and Admissible Pairs" Electronics 11, no. 23: 4011. https://doi.org/10.3390/electronics11234011

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop