Minimal-norm static feedbacks using dissipative Hamiltonian matrices
Nicolas Gillis, Punit Sharma

TL;DR
This paper introduces a new characterization of static feedbacks for stabilizing linear systems using dissipative Hamiltonian matrices, leading to algorithms for minimal-norm feedbacks and static-output feedback, with demonstrated effectiveness.
Contribution
It provides a novel parametrization of stabilizing feedbacks via dissipative Hamiltonian matrices and develops algorithms for minimal-norm static and output feedbacks.
Findings
Algorithm computes minimal-norm static feedbacks efficiently.
Method extends to static-output feedback problem.
Numerical examples show improved performance over existing methods.
Abstract
In this paper, we characterize the set of static-state feedbacks that stabilize a given continuous linear-time invariant system pair using dissipative Hamiltonian matrices. This characterization results in a parametrization of feedbacks in terms of skew-symmetric and symmetric positive semidefinite matrices, and leads to a semidefinite program that computes a static-state stabilizing feedback. This characterization also allows us to propose an algorithm that computes minimal-norm static feedbacks. The theoretical results extend to the static-output feedback (SOF) problem, and we also propose an algorithm to tackle this problem. We illustrate the effectiveness of our algorithm compared to state-of-the-art methods for the SOF problem on numerous numerical examples from the COMPLeIB library.
| Algorithm 2 | RS-PHASE-II | |
| AC7 | = [-0.2638 -0.2506] | = [-0.5963 -0.0669] |
| 7.4 s. | 0.17 s. | |
| AC8 | = [-0.0112 0.0049 0.0129 -0.0008 -0.0128] | = [-2.0783 0.2537 0.9202 -0.0382 -0.8338] |
| 7.5 s. | 0.03 s. | |
| HE1 | = [0.1221; -0.3974] | = [-0.0691; -0.4227] |
| 61 s. | 0.03 s. | |
| ROC7 | ||
| 13 s. | 0.09 s. |
| Algorithm 2 | RS-P.-I | HIFOO | ||||
| Identity | Random | ABI | AIC | [21] | [3] | |
| AC1 | 1.63e-9 (1.5) | 3.65e-9 (2.9) | 1.63e-9 (1.1) | 1.63e-9 (1.1) | 1.62 | 1.81e-15 |
| AC2 | 1.63e-9 (1.3) | 3.65e-9 (3.3) | 1.63e-9 (1.1) | 1.63e-9 (1.1) | 1.62 | 4.91e-2 |
| AC4 | 7.48e-2 (2.1) | 6.69e-2 (34) | 7.27e-2 (8.0) | 5.21e-2 (15) | 0.77 | |
| AC5 | 1358.60 (16) | 1344.56 (718) | 2282.84 (28) | (21) | 1.41 | 1340.00 |
| AC6 | 4.05e-12 (1.1) | 4.05e-12 (3.3) | 4.05e-12 (1.1) | 4.05e-12 (1.1) | 1.20 | |
| AC7 | 0.36 (6.5) | 0.42 (68) | 0.76 (21) | 0.41 (59) | 1.02 | |
| AC8 | 2.19e-2 (6.6) | 0.12 (142) | 1.20 (19) | 0.50 (34) | 2.43 | |
| AC9 | 0.66 (7.9) | 2.34 (137) | 1.31e-3 (36) | 0.26 (44) | 1.92 | 1.41 |
| AC11 | 5.98 (11) | 0.17 (510) | 1.30 (20) | 0.92 (56) | 2.41 | 3.64 |
| AC12 | 1.79 (71) | 1.19 (540) | 1.00 (28) | 0.90 (35) | 3398.70 | 5.00e-5 |
| AC15 | 6.34e-10 (0.9) | 6.34e-10 (2.6) | 6.34e-10 (0.9) | 6.34e-10 (0.9) | 8.71 | |
| AC18 | 1.60 (223) | 0.37 (1688) | 0.55 (46) | 1.26 (173) | 18.60 | |
| HE1 | 2.26 (1.8) | 0.42 (61) | 0.68 (51) | 0.46 (71) | 1.67 | 8.57e-2 |
| HE3 | 49.77 (26) | 29.12 (589) | 9.50 (136) | 10.75 (140) | 41.91 | 0.81 |
| HE4 | 45.65 (22) | 13.01 (569) | 5.68 (155) | 9.42 (127) | 145.17 | 18.60 |
| HE5 | (38) | 33.39 (1139) | (180) | 16.60 (38) | 144.95 | 1.59 |
| HE6 | 4.41 (15) | 2.30 (660) | 2.47 (54) | 9.83 (96) | 3.63 | |
| HE7 | 4.41 (15) | 3.36 (439) | 2.47 (55) | 9.83 (95) | 3.63 | |
| REA1 | 1.06 (2.6) | 0.85 (69) | 0.94 (18) | 1.79 (18) | 1.55 | 1.50 |
| REA2 | 1.73 (3.3) | 0.92 (45) | 1.09 (15) | 2.62 (16) | 1.12 | 1.65 |
| REA3 | 2.40e-3 (0.0) | 2.40e-3 (30) | 2.40e-3 (0.0) | 2.40e-3 (0.0) | 14.84 | 9.91 |
| DIS2 | 6.18 (3.7) | 4.94 (47) | 8.59 (9.6) | 3.24 (9.2) | 1.40 | |
| DIS4 | 0.44 (70) | 0.36 (227) | 0.32 (24) | 0.40 (24) | 2.82 | 1.69 |
| DIS5 | (32) | 416.81 (503) | (63) | (30) | 461.97 | 1280.00 |
| WEC1 | 4.30 (6.2) | 25.98 (1365) | (233) | 9.05 (37) | 5.69 | |
| PAS | 4.72e-3 (0.0) | 4.72e-3 (13) | 4.72e-3 (0.0) | 4.72e-3 (0.0) | 780.00 | 1.97e-3 |
| TF1 | 1.16 (8.8) | 4.00 (100) | 0.21 (19) | (126) | 65.04 | 0.14 |
| TF2 | 5.40 (3.2) | 6.31 (154) | 0.42 (19) | 1.69 (16) | 7.95 | 10.90 |
| TF3 | (97) | 47.13 (656) | 0.28 (19) | 1.64 (31) | 151.57 | 0.14 |
| NN1 | (16) | 48.43 (177) | (43) | (39) | 133.69 | 35.00 |
| NN2 | 3.45e-9 (1.2) | 3.45e-9 (2.8) | 3.45e-9 (1.1) | 3.45e-9 (1.1) | 1.35 | 1.54 |
| NN3 | (31) | (264) | (37) | (12) | ||
| NN5 | (30) | 17.14 (556) | (73) | (114) | 39.03 | 82.40 |
| NN6 | (115) | (1446) | (188) | (264) | 110.73 | 314.00 |
| Algorithm 2 | RS-P.-I | HIFOO | ||||
| Identity | Random | ABI | AIC | [21] | [3] | |
| NN7 | (118) | (1243) | (187) | (264) | 71.53 | 84.20 |
| NN9 | (39) | 10.66 (250) | (41) | (65) | 504.50 | 20.90 |
| NN12 | 32.67 (25) | 18.23 (327) | (88) | (33) | 27.05 | 10.90 |
| NN13 | 0.61 (2.7) | 0.40 (47) | 7.05e-2 (29) | 9.98e-2 (17) | 1.94 | |
| NN14 | 0.61 (2.6) | 0.38 (51) | 7.05e-2 (29) | 9.98e-2 (17) | 1.47 | |
| NN15 | 4.71e-11 (1.0) | 4.70e-11 (2.7) | 4.71e-11 (1.0) | 4.71e-11 (1.0) | 2.00 | 4.80e-2 |
| NN16 | 1.52e-10 (1.1) | 1.83e-10 (3.1) | 1.52e-10 (1.0) | 1.52e-10 (1.0) | 0.46 | 0.34 |
| NN17 | (7.6) | 53.23 (323) | 1.86 (14) | 1.41 (11) | 6.77 | 3.87 |
| HF2D10 | 1.23 (2.1) | 0.30 (31) | 0.31 (3.7) | 0.29 (13) | 15.41 | 70600 |
| HF2D11 | 8.36 (2.1) | 1.64 (32) | 0.63 (3.6) | 0.58 (7.1) | 44.02 | 85100 |
| HF2D14 | 7.48e-2 (18) | 2.37e-2 (97) | 2.06e-2 (4.8) | 2.04e-2 (9.8) | 373000 | |
| HF2D15 | 0.91 (14) | 0.26 (258) | 0.26 (14) | 1.34 (103) | 284000 | |
| HF2D16 | 2.98e-2 (3.0) | 1.49e-2 (93) | 1.57e-2 (4.4) | 1.39e-2 (4.2) | 284000 | |
| HF2D17 | 0.10 (2.3) | 6.63e-2 (125) | 6.81e-2 (12) | 6.59e-2 (11) | 375000 | |
| HF2D18 | 2.45e-2 (2.1) | 1.49e-2 (25) | 1.84e-2 (7.1) | 7.00e-3 (15) | 24.30 | |
| TMD | 0.28 (2.8) | 0.30 (88) | 2.15e-3 (7.7) | 119.22 (37) | 1.07 | 1.32 |
| FS | (35) | 793.18 (382) | 145.34 (20) | 1.26e+04 (38) | 18300 | |
| ROC1 | 5.63e-6 (0.0) | 5.63e-6 (11) | 5.63e-6 (0.0) | 5.63e-6 (0.0) | 180.14 | |
| ROC2 | (54) | (1471) | (105) | (185) | 152.94 | |
| ROC3 | (41) | (642) | (72) | (107) | ||
| ROC4 | 2.58e-6 (1.2) | 2.58e-6 (22) | 2.58e-6 (1.1) | 2.58e-6 (1.1) | 241.57 | |
| ROC5 | 2.39e-9 (1.1) | 1.33e-9 (3.1) | 2.39e-9 (1.1) | 2.39e-9 (1.1) | 232.22 | |
| ROC7 | 0.18 (3.3) | 0.37 (98) | 7.49e-6 (9.2) | 3.01e-3 (15) | 2.32 | |
| # best | 14 / 57 | 20 / 57 | 23 / 57 | 19 / 57 | 4 / 50 | 11 / 45 |
| Globally: 40 / 57 | ||||||
| # | 13 / 57 | 5 / 57 | 12 / 57 | 12 / 57 | 4 / 50 | 4 / 45 |
| Globally: 5 / 57 | ||||||
| Data set | Init. | BCD | SSDP |
| AC1 (5,3) | 2.82e-14 (1.0) | 2.82e-14 (0.0, 0) | 2.82e-14 (0.0, 0) |
| AC2 (5,3) | 2.82e-14 (0.3) | 2.82e-14 (0.0, 0) | 2.82e-14 (0.0, 0) |
| AC4 (4,1) | 1.29 (1.2) | 3.86e-1 (2.4, 4) | 7.91e-2 (10.4, 16) |
| AC5 (4,2) | 1.43e+3 (0.8) | 3.83e+2 (15.1, 23) | 2.85e+2 (280.4, 200) |
| AC6 (7,2) | 1.82e-15 (0.3) | 1.82e-15 (0.0, 0) | 1.82e-15 (0.0, 0) |
| AC7 (9,1) | 2.33 (1.4) | 2.09e-1 (2.8, 4) | 7.64e-2 (43.4, 25) |
| AC8 (9,1) | 1.62 (1.5) | 3.30e-1 (2.5, 4) | 3.79e-3 (37.5, 29) |
| AC9 (10,4) | 1.13e-2 (1.7) | 3.06e-4 (7.0, 4) | 4.02e-4 (53.9, 11) |
| AC11 (5,2) | 2.44 (0.7) | 1.49 (21.2, 23) | 7.44e-1 (19.2, 13) |
| AC12 (4,3) | 4.73 (0.7) | 2.89 (6.3, 8) | 4.00 (233.0, 200) |
| AC15 (4,2) | 2.33e-13 (0.3) | 2.33e-13 (0.0, 0) | 2.33e-13 (0.0, 0) |
| AC18 (10,2) | 2.28e-1 (9.0) | 3.21e-2 (23.4, 13) | 1.15e-2 (85.1, 21) |
| HE1 (4,2) | 1.62e-1 (0.4) | 1.26e-1 (3.3, 5) | 1.18e-1 (12.8, 12) |
| HE3 (8,4) | 3.05 (1.9) | 8.62e-1 (45.7, 35) | 7.06e-1 (205.5, 88) |
| HE4 (8,4) | 1.45 (1.6) | 3.28e-1 (65.3, 61) | 3.87e-2 (39.2, 16) |
| HE5 (8,4) | 1.45 (1.3) | 3.28e-1 (65.9, 61) | 3.87e-2 (38.2, 16) |
| HE6 (20,4) | 1.45 (6.8) | 7.83e-1 (553.4, 70) | 3.57e-2 (316.4, 19) |
| HE7 (20,4) | 1.45 (6.8) | 7.83e-1 (555.7, 70) | 3.57e-2 (317.1, 19) |
| REA1 (4,2) | 9.01e-1 (0.5) | 3.70e-1 (4.4, 7) | 3.17e-1 (21.7, 20) |
| REA2 (4,2) | 9.14e-1 (0.5) | 3.75e-1 (5.8, 7) | 3.21e-1 (26.8, 25) |
| REA3 (12,1) | 6.57e+2 (2.3) | 6.12e+2 (3.7, 4) | 1.05e-2 (159.7, 96) |
| DIS2 (3,2) | 2.60 (0.4) | 1.41 (7.6, 12) | 1.22 (21.4, 23) |
| DIS4 (6,4) | 7.19e-1 (0.5) | 4.07e-1 (16.3, 21) | 3.20e-1 (21.7, 16) |
| DIS5 (4,2) | 7.83e+2 (0.5) | 1.58e+2 (1.3, 2) | 1.03e+2 (63.8, 39) |
| WEC1 (10,3) | 3.27e+1 (7.3) | 4.59 (261.5, 106) | 3.97 (72.3, 33) |
| PAS (5,1) | 6.82e-3 (0.9) | 6.82e-3 (0.0, 0) | 6.82e-3 (2.9, 1) |
| Data set | Init. | BCD | SSDP |
|---|---|---|---|
| TF1 (7,2) | 2.92e+1 (1.5) | 3.97 (2.8, 4) | 7.77e-3 (30.2, 20) |
| TF2 (7,2) | 2.92e+1 (1.6) | 3.97 (2.8, 4) | 7.77e-3 (31.9, 20) |
| TF3 (7,2) | 2.92e+1 (1.6) | 3.97 (2.8, 4) | 7.77e-3 (30.4, 20) |
| NN1 (3,1) | 1.65e+1 (0.8) | 1.34e+1 (2.4, 4) | 1.30e+1 (22.9, 27) |
| NN2 (2,1) | 0 (0.1) | 0 (0.0, 0) | 0 (0.0, 0) |
| NN3 (4,1) | 6.33e+1 (0.8) | 4.31e+1 (0.6, 1) | 1.81e+1 (7.0, 6) |
| NN5 (7,1) | 4.19e+2 (1.3) | 1.69e+2 (2.9, 4) | 3.01e+1 (179.3, 200) |
| NN6 (9,1) | 3.48e+2 (1.8) | 3.12e+2 (0.7, 1) | 6.04e+1 (98.3, 60) |
| NN7 (9,1) | 3.48e+2 (1.6) | 3.12e+2 (0.7, 1) | 6.04e+1 (98.4, 60) |
| NN9 (5,3) | 5.19 (0.6) | 4.50 (2.2, 3) | 3.32 (66.4, 64) |
| NN12 (6,2) | 2.45 (0.8) | 2.45 (3.3, 4) | 1.41 (118.7, 111) |
| NN13 (6,2) | 8.64e-1 (0.5) | 8.34e-1 (2.6, 4) | 3.19e-1 (37.9, 35) |
| NN14 (6,2) | 8.64e-1 (0.5) | 8.34e-1 (2.6, 4) | 3.19e-1 (38.5, 35) |
| NN15 (3,2) | 2.22e-12 (0.3) | 2.22e-12 (1.3, 2) | 2.22e-12 (8.2, 1) |
| NN16 (8,4) | 5.40e-15 (0.3) | 5.40e-15 (0.0, 0) | 5.40e-15 (0.0, 0) |
| NN17 (3,2) | 4.38 (0.7) | 8.30e-1 (5.1, 8) | 7.26e-1 (10.2, 14) |
| HF2D10 (5,2) | 9.37e-3 (0.5) | 9.16e-3 (2.1, 3) | 9.19e-3 (1.5, 3) |
| HF2D11 (5,2) | 1.55e-2 (0.5) | 1.50e-2 (2.9, 4) | 1.50e-2 (1.3, 3) |
| HF2D14 (5,2) | 2.97e-2 (0.5) | 2.35e-2 (2.8, 4) | 2.36e-2 (2.6, 5) |
| HF2D15 (5,2) | 1.98e-1 (0.6) | 1.22e-1 (8.1, 12) | 1.22e-1 (6.0, 5) |
| HF2D16 (5,2) | 1.46e-2 (0.5) | 1.40e-2 (2.7, 4) | 1.40e-2 (1.3, 3) |
| HF2D17 (5,2) | 6.83e-2 (0.5) | 6.47e-2 (2.9, 4) | 6.47e-2 (2.4, 5) |
| HF2D18 (5,2) | 3.79e-2 (0.5) | 3.59e-2 (1.3, 2) | 3.79e-2 (5.0, 2) |
| TMD (6,2) | 4.73e-3 (1.2) | 1.81e-4 (2.8, 4) | 2.22e-4 (4.9, 8) |
| FS (5,1) | 5.28e+2 (2.2) | 5.28e+2 (0.0, 0) | 3.04e+1 (6.1, 8) |
| ROC1 (9,2) | 8.82e-5 (0.6) | 8.82e-5 (1.3, 1) | 8.82e-5 (35.6, 1) |
| ROC2 (10,2) | 2.36 (2.9) | 2.93e-1 (5.1, 4) | 7.78e-2 (121.4, 35) |
| ROC3 (11,4) | 7.24 (1.7) | 6.68 (12.8, 7) | 3.63 (92.2, 19) |
| ROC4 (9,2) | 1.79e-4 (0.6) | 1.79e-4 (2.2, 2) | 1.79e-4 (26.8, 1) |
| ROC5 (7,3) | 4.57e-14 (0.3) | 4.57e-14 (0.0, 0) | 4.57e-14 (0.0, 0) |
| ROC7 (5,2) | 2.20 (1.8) | 4.58e-1 (4.2, 7) | 1.33e-4 (8.6, 13) |
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Minimal-norm static feedbacks using dissipative Hamiltonian matrices
Nicolas Gillis Punit Sharma Department of Mathematics and Operational Research, University of Mons, Rue de Houdain 9, 7000 Mons, Belgium. Email: [email protected]. N. Gillis acknowledges the support by the Fonds de la Recherche Scientifique - FNRS and the Fonds Wetenschappelijk Onderzoek - Vlanderen (FWO) under EOS Project no O005318F-RG47, and by the European Research Council (ERC starting grant no 679515).Department of Mathematics, Indian Institute of Technology Delhi, Hauz Khas, New Delhi-110016, India. Email: [email protected]. P. Sharma acknowledges the support of the DST-Inspire Faculty Award (MI01807-G) by Government of India and Institute SEED Grant (NPN5R) by IIT Delhi.
Abstract
In this paper, we characterize the set of static-state feedbacks that stabilize a given continuous linear-time invariant system pair using dissipative Hamiltonian matrices. This characterization results in a parametrization of feedbacks in terms of skew-symmetric and symmetric positive semidefinite matrices, and leads to a semidefinite program that computes a static-state stabilizing feedback. This characterization also allows us to propose an algorithm that computes minimal-norm static feedbacks. The theoretical results extend to the static-output feedback (SOF) problem, and we also propose an algorithm to tackle this problem. We illustrate the effectiveness of our algorithm compared to state-of-the-art methods for the SOF problem on numerous numerical examples from the COMPLeIB library.
Keywords. dissipative Hamiltonian system, static-state feedback, static-output feedback, semidefinite optimization
1 Introduction
Consider a continuous linear-time invariant (LTI) system in the form
[TABLE]
where, for all , is the state space, is the control input, , , and . The notion of stabilizing the system pair using feedback controllers is a fundamental one, and is referred to as the static-state feedback (SSF) problem. It requires to find such that is stable, that is, all eigenvalues of the matrix are in the left half of the complex plane and those on the imaginary axis are semisimple; see for example [4, 2]. The first goal of this paper is to solve the SSF problem; this can be divided into two parts:
Feasibility. Check the existence of a feedback matrix such that is stable. 2. 2)
Optimization. If the problem is feasible, minimize the norm of the feedback matrix, that is, solve
[TABLE]
where is a given norm such as the norm or the Frobenius norm.
The second goal is to consider the analogous problem for system triplets , referred to as the static-output feedback (SOF) problem. The SOF problem requires to find such that is stable; see [27] for a survey on the SOF problem. This decision problem is believed to be NP-hard as no polynomial-time algorithm is known. Moreover, if extra constraints are imposed on the entries of the static controller, then this decision problem is NP-hard [19, 6]. As a consequence, the minimal-norm SOF problem, for which the norm of is minimized, is hard as well. For more discussion on the hardness of this problem, we refer to the recent paper by Peretz [21] and the references therein. The solution of the SOF problem is important for systems which models structural dynamics, and naturally needs a static feedback that can be built into the structure [25, 31, 32, 22, 21]. It was shown that optimal SOFs may achieve similar performance as optimal dynamic feedbacks.
1.1 Contribution and outline of the paper
Recently, in [11], a parametrization of the set of all stable matrices was obtained in terms of dissipative Hamiltonian (DH) systems. DH systems are special cases of port-Hamiltonian systems, which recently have received a lot attention in energy based modeling; see for example [13, 23, 24], and also [12, 5, 18] for robustness analysis. A matrix is called a DH matrix if for some such that , is positive semidefinite and is positive definite. A matrix is stable if and only if it is a DH matrix. This parametrization has been used to solve several nearness problems for LTI systems [17, 10, 12, 9]. In this paper, we provide a complete characterization for the static-state stabilizing feedbacks of a given pair in terms of DH matrices. This provides an efficient way to check the feasibility by solving a convex semidefinite program (SDP). We then propose a sequential SDP (SSDP) method to solve the optimization problem of minimizing the norm of the feedbacks. We extend this approach to tackle the SOF problem for the system triplet and compare our solution with the algorithms proposed in [3] and [21]. Although we cannot guarantee to obtain a feasible solution in all cases due to the complexity of the problem, we are able in many cases to get better solutions (that is, provide a feasible solution with smaller norm).
The paper is organized as follows. In Section 2, we state some preliminary results from the literature. In Section 3, we give a complete characterization of the static-state stabilizing feedbacks for a system pair in terms of DH matrices. In Section 4, we extend these results for the SOF problem of a system triplet . In Section 5, using our characterizations based on DH matrices, we propose two algorithms to minimize the norm of stabilizing feedback matrices: one for the SSF problem (Algorithm 1) and one for the SOF problem (Algorithm 2). In Section 6, we illustrate the effectiveness of Algorithm 2 compared to the two state-of-the-art methods for the SOF problem proposed in [3, 21] on numerous numerical examples from the COMPLeIB library [16]. Numerical results for Algorithm 1 on the SSF problem are reported in Appendix A.
Notation
Throughout the paper, and stand for the transpose and Moore-Penrose pseudoinverse of a real matrix , respectively. We write and if is symmetric and positive definite or positive semidefinite (symmetric negative semidefinite), respectively. By we denote the identity matrix of size , and by we denote the null space of . The eigenvalue spectrum of a matrix is denoted by . For a given matrix triplet , where , and , we define
[TABLE]
and
[TABLE]
For a matrix pair , we use the notation for and for . For the matrix triplet , we use the notation for and for .
2 Preliminaries
In this section, we present results from the literature that will be useful in the following sections.
Let us first recall the definition of a DH matrix: A matrix is said to be a DH matrix if for some such that , and . The set of stable matrices is characterized as the set of DH matrices in the following.
Theorem 1**.**
[11, Lemma 2]* Let . Then is stable if and only if is a DH matrix.*
For DH matrices, we can easily derive the following lemma for which we provide the proof which will be useful later on.
Lemma 1**.**
[10, Lemma 3]* DH matrices are invariant under orthogonal transformations.*
Proof.
Let be a DH matrix, that is, for some , , and . Let be orthogonal, that is, . Then is a DH matrix since , , and . ∎
The following lemma will be used to parametrize the set of all feedbacks that stabilize a system pair in Section 3 and system triplet in Section 4.
Lemma 2**.**
[26, Lemma 1.3]* Let , , , and*
[TABLE]
Then if and only if satisfy . If the latter condition is satisfied then
[TABLE]
and
[TABLE]
The following well-known lemma gives an equivalent characterization for a positive semidefinite matrix; it will be used in establishing new conditions for the existence of stabilizing feedbacks.
Lemma 3**.**
[1] * Let the integer be such that , and be partitioned as R=\left[\begin{array}[]{cc}B&C^{T}\\ C&D\end{array}\right] with , and . Then if and only if*
[TABLE]
3 DH characterization of static-state stabilizing feedbacks
Let us denote the set of triplets that form a DH matrix as follows
[TABLE]
For a triplet , let us also define
[TABLE]
Using Lemma 2, we have the following characterization of the set in terms of triplets .
Theorem 2**.**
*Let and . Then, *
[TABLE]
Proof.
Let us first show that if and only if there exists such that . Let , that is, is stable. Then by Theorem 1, there exists such that . This implies that and thus
[TABLE]
since . Conversely, let , and consider . Then satisfies
[TABLE]
This implies that is a DH matrix and thus stable, hence .
To show (3.3), let be a matrix of the form satisfying . We have that , and thus because . This proves the inclusion . For the inclusion , let . By Theorem 1 there exists such that . In view of Lemma 2 there exists such that and . This proves . ∎
Corollary 1**.**
For a fixed triplet , define
[TABLE]
If , then
[TABLE]
Proof.
This follows immediately from Lemma 2 and Theorem 2. ∎
The following theorem gives an alternative way to check the existence of a stabilizing feedback. It can be useful in numerical methods as it reduces the number of variables depending on the rank of ; see also Remark 2.
Theorem 3**.**
Let and . Let be an orthogonal matrix such that U^{T}BB^{\dagger}U=\left[\begin{array}[]{cc}I_{k}&0\\ 0&0\end{array}\right], where . Let \hat{A}=U^{T}AU=\left[\begin{array}[]{cc}\hat{A}_{11}&\hat{A}_{12}\\ \hat{A}_{21}&\hat{A}_{22}\end{array}\right], where and . Then if and only if there exist , and such that , , , and
[TABLE]
Proof.
First suppose that , and let . Then from Theorem 2 there exists such that
[TABLE]
Multiplying (3.7) by from the left and by from the right, by using the fact that , and by setting
[TABLE]
we have that
[TABLE]
This implies that
[TABLE]
Note that and , because is orthogonal and . Also from Lemma 3 and , since . This proves the “if” part.
Conversely, suppose that (3.6) holds. Let be chosen such that and (for example: ) and let \hat{J}=U^{T}JU=\left[\begin{array}[]{cc}\hat{J}_{11}&-\hat{J}_{21}^{T}\\ \hat{J}_{21}&\hat{J}_{22}\end{array}\right] and \hat{R}=U^{T}RU=\left[\begin{array}[]{cc}\hat{R}_{11}&\hat{R}_{21}^{T}\\ \hat{R}_{21}&\hat{R}_{22}\end{array}\right]. Observe that , (Lemma 3) and
[TABLE]
Multiplying (3.8) by from the left and by from the right, and by using the fact that , we get
[TABLE]
Thus from Theorem 2, satisfies . This implies from Lemma 1 that is a DH matrix and thus . ∎
It is well known that if the system pair is controllable, then ; see [29]. In the following, we obtain a different sufficient condition for the existence of a stabilizing feedback for pair which is a corollary of Theorem 3.
Corollary 2**.**
Let and . Let be an orthogonal matrix such that U^{T}BB^{\dagger}U=\left[\begin{array}[]{cc}I_{k}&0\\ 0&0\end{array}\right], where . Let \hat{A}=U^{T}AU=\left[\begin{array}[]{cc}\hat{A}_{11}&\hat{A}_{12}\\ \hat{A}_{21}&\hat{A}_{22}\end{array}\right], where and . If is stable, then .
Proof.
Since is stable, from Theorem 1 there exist such that . Define
[TABLE]
where is any skew-symmetric matrix and . Note that . Further define
[TABLE]
Proceeding as in Theorem 3, we have that , and the matrix stabilizes the system pair hence . ∎
Note that the converse of the above corollary does not hold. For example, consider
[TABLE]
where . We have
[TABLE]
For the pair , the SSF problem is feasible, that is, as
[TABLE]
with . However, for the transformed matrix
[TABLE]
we have . This implies while is not stable.
In the following theorem, we summarize the various necessary and sufficient conditions for the existence of a static stabilizing feedback for a given system pair .
Theorem 4**.**
Let and . Then the following are equivalent.
. 2. 2)
. 3. 3)
There exists such that for some . 4. 4)
There exists such that for some . 5. 5)
There exists such that . 6. 6)
There exist , and such that , , , and
[TABLE]
where \hat{A}=U^{T}AU=\left[\begin{array}[]{cc}\hat{A}_{11}&\hat{A}_{12}\\ \hat{A}_{21}&\hat{A}_{22}\end{array}\right] with , and is an orthogonal matrix such that U^{T}BB^{\dagger}U=\left[\begin{array}[]{cc}I_{k}&0\\ 0&0\end{array}\right] with .
Proof.
: This follows immediately from the relationship between the two sets and . In fact, for any and , we have , while for any and , we have [20].
and follow trivially, and and follow from Theorem 1.
: This follows from Theorem 2.
: This follows from Theorem 3. ∎
4 DH characterization of static-output stabilizing feedbacks
We first state a result similar to Theorem 2 that characterizes the set of SOFs in terms of DH matrices. For this, let and define
[TABLE]
Theorem 5**.**
Let be a system triplet. Then
[TABLE]
Proof.
The proof is similar to Theorem 2. ∎
A corollary similar to Corollary 1 is given in the following.
Corollary 3**.**
For a fixed triplet , define
[TABLE]
If , then
[TABLE]
It is easy to see that if the matrix triplet is stabilizable, then the pairs and are necessarily stabilizable. Indeed, if , then and . In general, however, stabilization of and do not guarantee the stabilization of . To ensure this, there must exist and a such that [21, Lemma 3.1]. In the following, we give a different sufficient condition for the stabilizability of in terms of DH matrices; if the stabilizability of and is determined simultaneously by the same stable matrix, that is, if there exists a and a such that , then is stabilizable.
Theorem 6**.**
Let be a given system triplet. Then is stabilizable if and only if there exists a such that
[TABLE]
If the later conditions are satisfied, then for all SOFs related to such we have
[TABLE]
Proof.
It is easy to check that for a given satisfying (4.4), the matrix . Conversely, let , that is, is stable. This implies for some , and thus and . Hence as an application of Lemma 2, satisfies (4.4). Further, (4.5) follows immediately by using the fact that and . ∎
5 Computing stabilizing feedback matrices
In this section, we exploit the results obtained in the previous sections and present a new framework based on DH matrices to attack the SSF and SOF problems.
5.1 Stabilization of a system pair
In this section, we focus on stabilizing a system pair , that is, finding such that is stable. We propose Algorithm 1 which consists in two mains steps described in the next subsections: first finding a feasible solution and then improving this solution.
5.1.1 Feasibility problem
A necessary and sufficient condition was obtained in Theorem 2 for the feasibility of the static feedback problem in terms of DH matrices: if and only if there exists such that . Trying to find a feasible solution of the latter equation can be done by considering the following optimization problem
[TABLE]
and checking whether , that is, if and only if . Since is positive definite, we have that
[TABLE]
Let , and define
[TABLE]
We have that if and only if . Note that there is a scaling degree of freedom between and since and for any leads to an equivalent solution. Hence, we may assume . Note also that the feasible set in (5.2) is neither open (due to constraint ) nor closed (due to constraint ) and replacing the feasible set in (5.2) by its closure does not change the value of the infimum in (5.2), hence
[TABLE]
Thus checking feasibility is equivalent to check that the value of in (5.3) is zero or not. The problem (5.3) is convex. More precisely, it is a semidefinite program (SDP) which can be solved efficiently with dedicated solvers.
Remark 1**.**
Recall the classical result that for any controllable pair , there exists such that is stable [29]. However, if is not controllable, one cannot conclude that . Note that, as opposed to previous works in the literature [20], no assumption was made on the pair while obtaining our reformulation (5.3). Therefore (5.3) provides a general way to check the existence of static feedback and works even when is not controllable. **
Remark 2**.**
Note that one can use Theorem 3 to obtain an equivalent optimization problem with less variables (depending on the rank of ). Defining
[TABLE]
we have if and only if . Note that if , then the condition is always met. Therefore dropping this condition does not make any difference in our algorithm as the set of positive definite matrices is dense in the set of of positive semidefinite matrices. Therefore an equivalent reformulation of (5.3) is given by
[TABLE]
5.1.2 Optimization problem
Suppose that the SSF problem is feasible, that is, , and we want to solve the minimization problem
[TABLE]
In view of Theorem 2 and Corollary 1, we can equivalently write (5.6) as
[TABLE]
In view of the formulation (5.7), a simple algorithm that can be used is a block coordinate descent (BCD) method: optimize alternatively over variables for fixed, and for fixed. In fact, the subproblems are SDPs hence can be solved efficiently. However, we have observed in practice that BCD seems to get stuck at saddle points; see Appendix A for numerical results. For this reason, we have developed another algorithm that is based on sequential semidefinite programming (SSDP). As before, let us denote , and reformulate (5.7) as
[TABLE]
Note that the feasible set is convex, with linear matrix inequalities (LMIs) and linear constraints. Given an initial solution , we look for such that is a better solution than . To do so, we linearize the term by using
[TABLE]
and removing the non-linear terms appearing in the product of the two components, that is, we use the following approximation:
[TABLE]
This results in the following optimization problem
[TABLE]
Similar to a trust-region method, the value of is updated in the curse of the algorithm. As long as the error of is larger than that of , is decreased. For the next step, is increased to allow a larger trust-region radius.
5.2 Stabilization of a system triplet
In this section, we focus on stabilizing a system triplet , that is, finding such that is stable. We propose Algorithm 2 which, as for Algorithm 1, consists in two mains steps described in the next subsections.
5.2.1 Feasibility problem
In view of Theorem 6, if and only if there exists such that
[TABLE]
Finding a feasible solution can be done by considering the following optimization problem
[TABLE]
since if and only if . Unlike (5.3), a change of variable as in (5.10) will not result in a convex optimization problem due to the second term in (5.10). This was expected since the stabilization of a matrix triplet is hard; see Section 1. Therefore to solve (5.10), we apply SSDP, as done for (5.8), by solving, at each iteration, the following optimization problem:
[TABLE]
Algorithm 2 (steps 1-16) summarizes this approach.
5.2.2 Optimization problem
In view of Theorem 5, we want to minimize the norm of feasible feedback by solving
[TABLE]
To solve (5.12), we cannot use SSDP because the linear constraints cannot be linearized exactly (we would obtain an infeasible solution after one step). Therefore, in this case, we resort to BCD: alternatively solve (5.12) for with fixed, and then for with fixed; see steps 18-22 of Algorithm 2.
5.2.3 Initialization
Algorithm 2 needs to be initialized with some matrices . We propose four different initializations. In all cases, we choose and then set as an optimal solution of (5.10) with .
Identity. We simply pick . 2. 2)
Random. We first generate the -by- matrix where each entry is drawn using the normal distribution of mean 0 and standard deviation 1 (randn(n,n) in Matlab) and then set . (We use the square root so that has a smaller condition number.) 3. 3)
ABI. We take as the optimal solution of (5.3). This means that we choose such that there exists and where stabilizes the triplet hence the name ‘ABI’. 4. 4)
AIC. This is similar to ABI except that we choose such that there exists and where stabilizes the triplet hence the name ‘AIC’.
5.3 Extension to -stabilization
Our approach to tackle the SOF and SSF problems can be extended to find feedbacks that make the system -stable. A matrix is said to be -stable if its eigenvalues belong to the set . In [7], a parametrization of -stable matrices was obtained in terms of DH matrices that satisfy additional LMI constraints, where is the intersection of specific regions in the complex plane; namely conic sectors, vertical strips, and disks. For example, one may want the real parts of the eigenvalues of to be strictly smaller than some given negative value so that is robustly stable (see also Remark 3 below). Using these parametrizations, the results obtained in Sections 3 and 4 can be directly extended to obtain a characterization of static stabilizing feedbacks that guarantee -stability in terms of DH matrices. The corresponding optimization problems (5.9) and (5.11) would be subject to additional LMIs on the variables , and depending on the region; see [7, Theorems 1-3].
Remark 3**.**
Note that with the current version of the code, replacing with allows to compute a feedback matrix that makes the real parts of the eigenvalues of smaller than . In fact, the real parts of the eigenvalues of are smaller than if and only if the real parts of the eigenvalues of are smaller than 0.**
6 Numerical experiments
In this section, we run our algorithms on the data sets from the library [16]. To solve the convex optimization subproblems involving LMIs, we use the interior point method SDPT3 (version 4.0) [28, 30] with CVX as a modeling system [8, 14]. Our code is available from https://sites.google.com/site/nicolasgillis/code and the numerical examples presented below can be directly run from this online code. All tests are preformed using Matlab R2015a on a laptop Intel CORE i7-7500U CPU @2.7GHz 24Go RAM. It has to be noted that our algorithms are very flexible when it comes to the choice of the norm to be minimized. In fact, CVX can essentially handle any norm. However, we present results for the norm which is standard in the literature.
We focus in this section on the SOF problem, which is more challenging. Numerical results for the stabilization of matrix pairs are reported in Appendix A. We compare Algorithm 2 with the solutions computed by two state-of-the-art algorithms:
- •
The algorithm proposed in [21] is a randomized approximation algorithm. It works in to phases, similarly as Algorithm 2. In the first phase (RS-PHASE-I, RS stands for Ray-Shooting), the algorithm looks for a feasible solution and, in the second phase (RS-PHASE-II), it improves the solution by minimizing its -norm while remaining feasible. Initially, we tried to reproduce the results in [21] but this is impossible due to the randomized part of the algorithm. Moreover, there are several parameters of the algorithm that need to be fine-tuned to obtain good solutions, and we were not able to produce solutions as good as those presented in [21]. This is the reason why we prefer to report the results from [21]. Unfortunately, the author only provided extensive numerical results for the RS-PHASE-I of his algorithm [21, Table 8], and only 4 solutions obtained after RS-PHASE-II. Hence, we only compare to these solutions in this paper.
- •
The algorithm proposed in [3] uses the HIFOO non-linear optimization Toolbox; see also [15]. The algorithm, which we will refer to as HIFOO, relies on random initialization so, for the same reason as above, it is not possible to reproduce their results.
For Algorithm 2, we will use the four initializations presented in Section 5.2.3. For random initialization, we report the best result out of 10 initializations. We use the norm as in [21, 3], and the parameters ; while when is decreased (resp. increased), it is divided (resp. multiplied) by two (steps 8 and 12 of Algorithm 2). For both the initialization and optimization phases, we limit the number of iterations to 100. The initialization phase is stopped if the error is below . The optimization phase is stopped if the error is not decreased by at least between two iterations.
For the stabilization of matrix pairs, we report the solutions found by Algorithm 1 in the Appendix A, and all the results can be rerun from our code available online.
6.1 The four examples from [21, Section 5.1]
Let us first compare our algorithm with RS-PHASE-II on the examples presented in [21, Section 5.1]; see Table 6.1. The solution reported for Algorithm 2 is the best one obtained out of the four initializations (namely, identity for AC7 and AC8, random for HE1, and ABI for ROC7); see Tables 6.2 and 6.3 for the results of the other initializations.
For these four numerical experiments, Algorithm 2 provides better solutions than RS-PHASE-II in 3 out of the 4 cases. In particular, for AC8 and ROC7, the improvement is significant; from to for AC8, and from to for111 Note that the real part of one eigenvalue is positive, namely . One way to ensure that this does not happen is to add to the input matrix; see Remark 3. Another way is to use a lower bound on the eigenvalues of and which can be easily done in our code. For example, using , we obtain with with .
ROC7. When RS-PHASE-II obtains the best solution (HE1), the difference in norm is not significant: 0.42 for vs. 0.35. In summary, RE-PHASE-II is significantly faster than Algorithm 2, but generates in general solutions with larger norm. These observations will be confirmed in the next section.
6.2 Extensive numerical results
In this section, we report numerical results for all the systems tested in [21, Table 8] and [3, Table 1] of size ; see Tables 6.2 and 6.3. Note that some systems in [21, Table 8] were not tested in [3, Table 1], and vice versa, in which case we do not report any solution. Moreover, [21, Table 8] only reports the error of the initialization phase (RS-PHASE-I) hence we only report this result. Since [21, Table 8] and [3, Table 1] minimize the norm of , we run Algorithm 2 using this norm.
In terms of solution quality, Algorithm 2 outperforms the two other approaches, providing the best solution in 40 out of the 57 cases (RS-PHASE-I does for 4 out of 50, HIFOO does for 11 out of 45). Moreover, in many cases, the norm of the stabilizing feedback matrix is much smaller.
In terms of finding feasible solutions, the three algorithms are comparable: Algorithm 2 only fails 5 times out of 57, RS-PHASE-I 4 times out of 50, and HIFOO 4 times out of 45. All algorithms are sometimes able to find a feasible solution while the other fail. For example, RS-PHASE-I fails on AC18 and WEC1 while the two other algorithms succeed; HIFOO fails on HE6, HE7, NN13 and NN14; and Algorithm 2 fails on NN3-6-7-9 and ROC2-3.
Note that no algorithm is able to return a solution for NN3 and ROC3 hence these systems might not be stabilizable.
Sensitivity to initialization
As expected, Algorithm 2 is rather sensitive to initialization. In terms of solution quality, ABI performs best (23 out of 57 best solution found). In terms of finding feasible solutions, Random performs best (only 5 failure out of 57) but used 10 initializations. In fact, we were curious to see whether the random initialization would be able to find feasible solutions if allowed more trials. We have rerun the same experiment with 100 initializations, and it was able to find a feasible solution for NN7 with , and for ROC2 with ; both being better solutions than the ones found by RS-PHASE-I and HIFOO. Hence, except for NN6, Algorithm 2 with random initialization was able to find feasible solutions whenever RS-PHASE-I and HIFOO did.
Computational time
RS-PHASE-I and -II require less than 1 seconds in all the examples shown on Tables 6.2 and 6.3. Although it is not reported here, in terms of computational time, HIFOO is in general faster than Algorithm 2 but significantly slower than RS-PHASE-I and -II. For example, on NN9 (, and ), HIFOO requires about 6 seconds, while Algorithm 2 requires about 40 seconds on average. Note that the random initialization is slower than the other ones as it runs Algorithm 2 10 times.
7 Conclusion
In this paper, we have proposed a new characterization of all the SSFs and SOFs of a given LTI system pair and system triplet , respectively, in terms of DH matrices. This allowed us to develop algorithms to compute minimal-norm SSFs for a system pair (Algorithm 1) and minimal-norm SOFs for a system triplet (Algorithm 2). Comparing Algorithm 2 with the methods HIFOO [3] and RS [21] on SOF problems, we found that RS performs better than Algorithm 2 in terms of computational time. In terms of solution quality, Algorithm 2 compares favourably with the two other methods, being able to obtain better solution in many cases. In terms of finding feasible solutions, the three methods perform similarly.
Further work include the design of faster algorithms to solve our SDPs such as first-order methods. In fact, our algorithms currently rely on interior-point methods which do not scale well.
Acknowledgements
The authors are grateful to Yossi Peretz for sharing his code, and adressing our questions regarding his paper [21].
Appendix A Stabilizing matrix pairs
In this section, we report the norm of the solutions obtained by Algorithm 1 for the SSF problems corresponding to the same instance as in Tables 6.2 and 6.3. We minimize the norm of the feedback matrices, use , and update in the same way as in Section 6. We also report the error of the norm of the solution obtained by solving (5.3) (initialization phase of Algorithm 1), and the error of the BCD algorithm that alternatively optimized for fixed, and vice versa.
As mentioned in Section 5, SSDP performs significantly better than BCD in terms of solution quality. BCD provides a slightly better solution only in a few cases. In terms of computational time, BCD is faster as it solves subproblems with fewer variables.
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] Albert, A.: Conditions for positive and nonnegative definiteness in terms of pseudoinverses. SIAM J. Appl. Math. 17 (2), 434–440 (1969)
- 2[2] Anderson, B., Bose, N., Jury, E.: Output feedback stabilization and related problems– solution via decision methods. IEEE Transactions on Automatic Control 20 (1), 53–66 (1975)
- 3[3] Arzelier, D., Deaconu, G., Gumussoy, S., Henrion, D.: H 2 for HIFOO. In: International Conference on Control and Optimization with Industrial Applications, Bilkent University, Ankara, Turkey (2011)
- 4[4] Åström, K.J., Murray, R.M.: Feedback Systems: An Introduction for Scientists and Engineers. Princeton University Press (2010)
- 5[5] Beattie, C.A., Mehrmann, V., Van Dooren, P.: Robust port-Hamiltonian representations of passive systems. Automatica 100 , 182–186 (2019)
- 6[6] Blondel, V., Tsitsiklis, J.: NP-Hardness of some linear control design problems. SIAM Journal on Control and Optimization 35 (6), 2118–2127 (1997)
- 7[7] Choudhary, N., Gillis, N., Sharma, P.: On approximating the nearest Ω Ω \Omega -stable matrix. ar Xiv preprint ar Xiv:1901.03069 (2019)
- 8[8] CVX Research, I.: CVX: Matlab software for disciplined convex programming, version 2.0. http://cvxr.com/cvx (2012)
