@@ -52,58 +52,58 @@ def test_lyap(self):
52
52
Q = array ([[1 ,0 ],[0 ,1 ]])
53
53
X = lyap (A ,Q )
54
54
# print("The solution obtained is ", X)
55
- assert_array_almost_equal (A . dot ( X ) + X . dot ( A .T ) + Q , zeros ((2 ,2 )))
55
+ assert_array_almost_equal (A @ X + X @ A .T + Q , zeros ((2 ,2 )))
56
56
57
57
A = array ([[1 , 2 ],[- 3 , - 4 ]])
58
58
Q = array ([[3 , 1 ],[1 , 1 ]])
59
59
X = lyap (A ,Q )
60
60
# print("The solution obtained is ", X)
61
- assert_array_almost_equal (A . dot ( X ) + X . dot ( A .T ) + Q , zeros ((2 ,2 )))
61
+ assert_array_almost_equal (A @ X + X @ A .T + Q , zeros ((2 ,2 )))
62
62
63
63
def test_lyap_sylvester (self ):
64
64
A = 5
65
65
B = array ([[4 , 3 ], [4 , 3 ]])
66
66
C = array ([2 , 1 ])
67
67
X = lyap (A ,B ,C )
68
68
# print("The solution obtained is ", X)
69
- assert_array_almost_equal (A * X + X . dot ( B ) + C , zeros ((1 ,2 )))
69
+ assert_array_almost_equal (A * X + X @ B + C , zeros ((1 ,2 )))
70
70
71
71
A = array ([[2 ,1 ],[1 ,2 ]])
72
72
B = array ([[1 ,2 ],[0.5 ,0.1 ]])
73
73
C = array ([[1 ,0 ],[0 ,1 ]])
74
74
X = lyap (A ,B ,C )
75
75
# print("The solution obtained is ", X)
76
- assert_array_almost_equal (A . dot ( X ) + X . dot ( B ) + C , zeros ((2 ,2 )))
76
+ assert_array_almost_equal (A @ X + X @ B + C , zeros ((2 ,2 )))
77
77
78
78
def test_lyap_g (self ):
79
79
A = array ([[- 1 , 2 ],[- 3 , - 4 ]])
80
80
Q = array ([[3 , 1 ],[1 , 1 ]])
81
81
E = array ([[1 ,2 ],[2 ,1 ]])
82
82
X = lyap (A ,Q ,None ,E )
83
83
# print("The solution obtained is ", X)
84
- assert_array_almost_equal (A . dot ( X ). dot ( E .T ) + E . dot ( X ). dot ( A .T ) + Q ,
84
+ assert_array_almost_equal (A @ X @ E .T + E @ X @ A .T + Q ,
85
85
zeros ((2 ,2 )))
86
86
87
87
def test_dlyap (self ):
88
88
A = array ([[- 0.6 , 0 ],[- 0.1 , - 0.4 ]])
89
89
Q = array ([[1 ,0 ],[0 ,1 ]])
90
90
X = dlyap (A ,Q )
91
91
# print("The solution obtained is ", X)
92
- assert_array_almost_equal (A . dot ( X ). dot ( A .T ) - X + Q , zeros ((2 ,2 )))
92
+ assert_array_almost_equal (A @ X @ A .T - X + Q , zeros ((2 ,2 )))
93
93
94
94
A = array ([[- 0.6 , 0 ],[- 0.1 , - 0.4 ]])
95
95
Q = array ([[3 , 1 ],[1 , 1 ]])
96
96
X = dlyap (A ,Q )
97
97
# print("The solution obtained is ", X)
98
- assert_array_almost_equal (A . dot ( X ). dot ( A .T ) - X + Q , zeros ((2 ,2 )))
98
+ assert_array_almost_equal (A @ X @ A .T - X + Q , zeros ((2 ,2 )))
99
99
100
100
def test_dlyap_g (self ):
101
101
A = array ([[- 0.6 , 0 ],[- 0.1 , - 0.4 ]])
102
102
Q = array ([[3 , 1 ],[1 , 1 ]])
103
103
E = array ([[1 , 1 ],[2 , 1 ]])
104
104
X = dlyap (A ,Q ,None ,E )
105
105
# print("The solution obtained is ", X)
106
- assert_array_almost_equal (A . dot ( X ). dot ( A .T ) - E . dot ( X ). dot ( E .T ) + Q ,
106
+ assert_array_almost_equal (A @ X @ A .T - E @ X @ E .T + Q ,
107
107
zeros ((2 ,2 )))
108
108
109
109
def test_dlyap_sylvester (self ):
@@ -112,14 +112,14 @@ def test_dlyap_sylvester(self):
112
112
C = array ([2 , 1 ])
113
113
X = dlyap (A ,B ,C )
114
114
# print("The solution obtained is ", X)
115
- assert_array_almost_equal (A * X . dot ( B .T ) - X + C , zeros ((1 ,2 )))
115
+ assert_array_almost_equal (A * X @ B .T - X + C , zeros ((1 ,2 )))
116
116
117
117
A = array ([[2 ,1 ],[1 ,2 ]])
118
118
B = array ([[1 ,2 ],[0.5 ,0.1 ]])
119
119
C = array ([[1 ,0 ],[0 ,1 ]])
120
120
X = dlyap (A ,B ,C )
121
121
# print("The solution obtained is ", X)
122
- assert_array_almost_equal (A . dot ( X ). dot ( B .T ) - X + C , zeros ((2 ,2 )))
122
+ assert_array_almost_equal (A @ X @ B .T - X + C , zeros ((2 ,2 )))
123
123
124
124
def test_care (self ):
125
125
A = array ([[- 2 , - 1 ],[- 1 , - 1 ]])
@@ -128,10 +128,10 @@ def test_care(self):
128
128
129
129
X ,L ,G = care (A ,B ,Q )
130
130
# print("The solution obtained is", X)
131
- M = A .T . dot ( X ) + X . dot ( A ) - X . dot ( B ). dot ( B .T ). dot ( X ) + Q
131
+ M = A .T @ X + X @ A - X @ B @ B .T @ X + Q
132
132
assert_array_almost_equal (M ,
133
133
zeros ((2 ,2 )))
134
- assert_array_almost_equal (B .T . dot ( X ) , G )
134
+ assert_array_almost_equal (B .T @ X , G )
135
135
136
136
def test_care_g (self ):
137
137
A = array ([[- 2 , - 1 ],[- 1 , - 1 ]])
@@ -143,11 +143,11 @@ def test_care_g(self):
143
143
144
144
X ,L ,G = care (A ,B ,Q ,R ,S ,E )
145
145
# print("The solution obtained is", X)
146
- Gref = solve (R , B .T . dot ( X ). dot ( E ) + S .T )
146
+ Gref = solve (R , B .T @ X @ E + S .T )
147
147
assert_array_almost_equal (Gref , G )
148
148
assert_array_almost_equal (
149
- A .T . dot ( X ). dot ( E ) + E .T . dot ( X ). dot ( A )
150
- - (E .T . dot ( X ). dot ( B ) + S ). dot ( Gref ) + Q ,
149
+ A .T @ X @ E + E .T @ X @ A
150
+ - (E .T @ X @ B + S ) @ Gref + Q ,
151
151
zeros ((2 ,2 )))
152
152
153
153
def test_care_g2 (self ):
@@ -160,10 +160,10 @@ def test_care_g2(self):
160
160
161
161
X ,L ,G = care (A ,B ,Q ,R ,S ,E )
162
162
# print("The solution obtained is", X)
163
- Gref = 1 / R * (B .T . dot ( X ). dot ( E ) + S .T )
163
+ Gref = 1 / R * (B .T @ X @ E + S .T )
164
164
assert_array_almost_equal (
165
- A .T . dot ( X ). dot ( E ) + E .T . dot ( X ). dot ( A )
166
- - (E .T . dot ( X ). dot ( B ) + S ). dot ( Gref ) + Q ,
165
+ A .T @ X @ E + E .T @ X @ A
166
+ - (E .T @ X @ B + S ) @ Gref + Q ,
167
167
zeros ((2 ,2 )))
168
168
assert_array_almost_equal (Gref , G )
169
169
@@ -175,12 +175,12 @@ def test_dare(self):
175
175
176
176
X ,L ,G = dare (A ,B ,Q ,R )
177
177
# print("The solution obtained is", X)
178
- Gref = solve (B .T . dot ( X ). dot ( B ) + R , B .T . dot ( X ). dot ( A ) )
178
+ Gref = solve (B .T @ X @ B + R , B .T @ X @ A )
179
179
assert_array_almost_equal (Gref , G )
180
180
assert_array_almost_equal (
181
- X , A .T . dot ( X ). dot ( A ) - A .T . dot ( X ). dot ( B ). dot ( Gref ) + Q )
181
+ X , A .T @ X @ A - A .T @ X @ B @ Gref + Q )
182
182
# check for stable closed loop
183
- lam = eigvals (A - B . dot ( G ) )
183
+ lam = eigvals (A - B @ G )
184
184
assert_array_less (abs (lam ), 1.0 )
185
185
186
186
A = array ([[1 , 0 ],[- 1 , 1 ]])
@@ -190,15 +190,15 @@ def test_dare(self):
190
190
191
191
X ,L ,G = dare (A ,B ,Q ,R )
192
192
# print("The solution obtained is", X)
193
- AtXA = A .T . dot ( X ). dot ( A )
194
- AtXB = A .T . dot ( X ). dot ( B )
195
- BtXA = B .T . dot ( X ). dot ( A )
196
- BtXB = B .T . dot ( X ). dot ( B )
193
+ AtXA = A .T @ X @ A
194
+ AtXB = A .T @ X @ B
195
+ BtXA = B .T @ X @ A
196
+ BtXB = B .T @ X @ B
197
197
assert_array_almost_equal (
198
- X , AtXA - AtXB . dot ( solve (BtXB + R , BtXA ) ) + Q )
198
+ X , AtXA - AtXB @ solve (BtXB + R , BtXA ) + Q )
199
199
assert_array_almost_equal (BtXA / (BtXB + R ), G )
200
200
# check for stable closed loop
201
- lam = eigvals (A - B . dot ( G ) )
201
+ lam = eigvals (A - B @ G )
202
202
assert_array_less (abs (lam ), 1.0 )
203
203
204
204
def test_dare_g (self ):
@@ -211,13 +211,13 @@ def test_dare_g(self):
211
211
212
212
X ,L ,G = dare (A ,B ,Q ,R ,S ,E )
213
213
# print("The solution obtained is", X)
214
- Gref = solve (B .T . dot ( X ). dot ( B ) + R , B .T . dot ( X ). dot ( A ) + S .T )
214
+ Gref = solve (B .T @ X @ B + R , B .T @ X @ A + S .T )
215
215
assert_array_almost_equal (Gref , G )
216
216
assert_array_almost_equal (
217
- E .T . dot ( X ). dot ( E ) ,
218
- A .T . dot ( X ). dot ( A ) - (A .T . dot ( X ). dot ( B ) + S ). dot ( Gref ) + Q )
217
+ E .T @ X @ E ,
218
+ A .T @ X @ A - (A .T @ X @ B + S ) @ Gref + Q )
219
219
# check for stable closed loop
220
- lam = eigvals (A - B . dot ( G ) , E )
220
+ lam = eigvals (A - B @ G , E )
221
221
assert_array_less (abs (lam ), 1.0 )
222
222
223
223
def test_dare_g2 (self ):
@@ -230,16 +230,16 @@ def test_dare_g2(self):
230
230
231
231
X , L , G = dare (A , B , Q , R , S , E )
232
232
# print("The solution obtained is", X)
233
- AtXA = A .T . dot ( X ). dot ( A )
234
- AtXB = A .T . dot ( X ). dot ( B )
235
- BtXA = B .T . dot ( X ). dot ( A )
236
- BtXB = B .T . dot ( X ). dot ( B )
237
- EtXE = E .T . dot ( X ). dot ( E )
233
+ AtXA = A .T @ X @ A
234
+ AtXB = A .T @ X @ B
235
+ BtXA = B .T @ X @ A
236
+ BtXB = B .T @ X @ B
237
+ EtXE = E .T @ X @ E
238
238
assert_array_almost_equal (
239
- EtXE , AtXA - (AtXB + S ). dot ( solve (BtXB + R , BtXA + S .T ) ) + Q )
239
+ EtXE , AtXA - (AtXB + S ) @ solve (BtXB + R , BtXA + S .T ) + Q )
240
240
assert_array_almost_equal ((BtXA + S .T ) / (BtXB + R ), G )
241
241
# check for stable closed loop
242
- lam = eigvals (A - B . dot ( G ) , E )
242
+ lam = eigvals (A - B @ G , E )
243
243
assert_array_less (abs (lam ), 1.0 )
244
244
245
245
def test_raise (self ):
0 commit comments