|
30 | 30 | (vals, vecs) = eig(m)
|
31 | 31 | @test vals::SVector ≈ vals_a
|
32 | 32 | @test eigvals(m) ≈ vals
|
33 |
| - @test (vecs*diagm(vals)*vecs')::SMatrix ≈ m |
| 33 | + @test (vecs*diagm(Val(0) => vals)*vecs')::SMatrix ≈ m |
34 | 34 | ef = eigfact(m)
|
35 | 35 | @test ef[:values]::SVector ≈ vals_a
|
36 |
| - @test (ef[:vectors]*diagm(vals)*ef[:vectors]')::SMatrix ≈ m |
| 36 | + @test (ef[:vectors]*diagm(Val(0) => vals)*ef[:vectors]')::SMatrix ≈ m |
37 | 37 |
|
38 | 38 | (vals, vecs) = eig(Symmetric(m))
|
39 | 39 | @test vals::SVector ≈ vals_a
|
40 | 40 | @test eigvals(m) ≈ vals
|
41 |
| - @test (vecs*diagm(vals)*vecs')::SMatrix ≈ m |
| 41 | + @test (vecs*diagm(Val(0) => vals)*vecs')::SMatrix ≈ m |
42 | 42 | ef = eigfact(Symmetric(m))
|
43 | 43 | @test ef[:values]::SVector ≈ vals_a
|
44 |
| - @test (ef[:vectors]*diagm(vals)*ef[:vectors]')::SMatrix ≈ m |
| 44 | + @test (ef[:vectors]*diagm(Val(0) => vals)*ef[:vectors]')::SMatrix ≈ m |
45 | 45 | ef = eigfact(Symmetric(m, :L))
|
46 | 46 | @test ef[:values]::SVector ≈ vals_a
|
47 |
| - @test (ef[:vectors]*diagm(vals)*ef[:vectors]')::SMatrix ≈ m |
| 47 | + @test (ef[:vectors]*diagm(Val(0) => vals)*ef[:vectors]')::SMatrix ≈ m |
48 | 48 |
|
49 | 49 | (vals, vecs) = eig(Hermitian(m))
|
50 | 50 | @test vals::SVector ≈ vals_a
|
51 | 51 | @test eigvals(Hermitian(m)) ≈ vals
|
52 | 52 | @test eigvals(Hermitian(m, :L)) ≈ vals
|
53 |
| - @test (vecs*diagm(vals)*vecs')::SMatrix ≈ m |
| 53 | + @test (vecs*diagm(Val(0) => vals)*vecs')::SMatrix ≈ m |
54 | 54 | ef = eigfact(Hermitian(m))
|
55 | 55 | @test ef[:values]::SVector ≈ vals_a
|
56 |
| - @test (ef[:vectors]*diagm(vals)*ef[:vectors]')::SMatrix ≈ m |
| 56 | + @test (ef[:vectors]*diagm(Val(0) => vals)*ef[:vectors]')::SMatrix ≈ m |
57 | 57 | ef = eigfact(Hermitian(m, :L))
|
58 | 58 | @test ef[:values]::SVector ≈ vals_a
|
59 |
| - @test (ef[:vectors]*diagm(vals)*ef[:vectors]')::SMatrix ≈ m |
| 59 | + @test (ef[:vectors]*diagm(Val(0) => vals)*ef[:vectors]')::SMatrix ≈ m |
60 | 60 |
|
61 |
| - m_d = randn(SVector{2}); m = diagm(m_d) |
| 61 | + m_d = randn(SVector{2}); m = diagm(Val(0) => m_d) |
62 | 62 | (vals, vecs) = eig(Hermitian(m))
|
63 | 63 | @test vals::SVector ≈ sort(m_d)
|
64 | 64 | (vals, vecs) = eig(Hermitian(m, :L))
|
|
76 | 76 | (vals, vecs) = eig(m)
|
77 | 77 | @test vals::SVector ≈ vals_a
|
78 | 78 | @test eigvals(m) ≈ vals
|
79 |
| - @test (vecs*diagm(vals)*vecs')::SMatrix ≈ m |
| 79 | + @test (vecs*diagm(Val(0) => vals)*vecs')::SMatrix ≈ m |
80 | 80 |
|
81 | 81 | (vals, vecs) = eig(Symmetric(m))
|
82 | 82 | @test vals::SVector ≈ vals_a
|
83 | 83 | @test eigvals(m) ≈ vals
|
84 | 84 | @test eigvals(Hermitian(m)) ≈ vals
|
85 | 85 | @test eigvals(Hermitian(m, :L)) ≈ vals
|
86 |
| - @test (vecs*diagm(vals)*vecs')::SMatrix ≈ m |
| 86 | + @test (vecs*diagm(Val(0) => vals)*vecs')::SMatrix ≈ m |
87 | 87 |
|
88 | 88 | (vals, vecs) = eig(Symmetric(m, :L))
|
89 | 89 | @test vals::SVector ≈ vals_a
|
90 | 90 |
|
91 |
| - m_d = randn(SVector{3}); m = diagm(m_d) |
| 91 | + m_d = randn(SVector{3}); m = diagm(Val(0) => m_d) |
92 | 92 | (vals, vecs) = eig(Hermitian(m))
|
93 | 93 | @test vals::SVector ≈ sort(m_d)
|
94 | 94 | (vals, vecs) = eig(Hermitian(m, :L))
|
|
146 | 146 | vals, vecs = eig(m)::Tuple{SVector,SMatrix}
|
147 | 147 |
|
148 | 148 | @test vals ≈ [0.0, 1.0, 2.0]
|
149 |
| - @test vecs*diagm(vals)*vecs' ≈ m |
| 149 | + @test vecs*diagm(Val(0) => vals)*vecs' ≈ m |
150 | 150 | @test eigvals(m) ≈ vals
|
151 | 151 |
|
152 | 152 | m = @SMatrix [1.0 0.0 1.0;
|
|
155 | 155 | vals, vecs = eig(m)::Tuple{SVector,SMatrix}
|
156 | 156 |
|
157 | 157 | @test vals ≈ [0.0, 1.0, 2.0]
|
158 |
| - @test vecs*diagm(vals)*vecs' ≈ m |
| 158 | + @test vecs*diagm(Val(0) => vals)*vecs' ≈ m |
159 | 159 | @test eigvals(m) ≈ vals
|
160 | 160 |
|
161 | 161 | m = @SMatrix [1.0 1.0 0.0;
|
|
164 | 164 | vals, vecs = eig(m)::Tuple{SVector,SMatrix}
|
165 | 165 |
|
166 | 166 | @test vals ≈ [0.0, 1.0, 2.0]
|
167 |
| - @test vecs*diagm(vals)*vecs' ≈ m |
| 167 | + @test vecs*diagm(Val(0) => vals)*vecs' ≈ m |
168 | 168 | @test eigvals(m) ≈ vals
|
169 | 169 | end
|
170 | 170 |
|
|
177 | 177 | (vals, vecs) = eig(m)
|
178 | 178 | @test vals::SVector ≈ vals_a
|
179 | 179 | @test eigvals(m) ≈ vals
|
180 |
| - @test (vecs*diagm(vals)*vecs')::SMatrix ≈ m |
| 180 | + @test (vecs*diagm(Val(0) => vals)*vecs')::SMatrix ≈ m |
181 | 181 |
|
182 | 182 | (vals, vecs) = eig(Symmetric(m))
|
183 | 183 | @test vals::SVector ≈ vals_a
|
184 | 184 | @test eigvals(m) ≈ vals
|
185 | 185 | @test eigvals(Hermitian(m)) ≈ vals
|
186 | 186 | @test eigvals(Hermitian(m, :L)) ≈ vals
|
187 |
| - @test (vecs*diagm(vals)*vecs')::SMatrix ≈ m |
| 187 | + @test (vecs*diagm(Val(0) => vals)*vecs')::SMatrix ≈ m |
188 | 188 |
|
189 | 189 | (vals, vecs) = eig(Symmetric(m, :L))
|
190 | 190 | @test vals::SVector ≈ vals_a
|
191 |
| - m_d = randn(SVector{4}); m = diagm(m_d) |
| 191 | + m_d = randn(SVector{4}); m = diagm(Val(0) => m_d) |
192 | 192 | (vals, vecs) = eig(Hermitian(m))
|
193 | 193 | @test vals::SVector ≈ sort(m_d)
|
194 | 194 | (vals, vecs) = eig(Hermitian(m, :L))
|
|
207 | 207 | A = Hermitian(SMatrix{n,n}(a))
|
208 | 208 | D,V = eig(A)
|
209 | 209 | @test V'V ≈ eye(n)
|
210 |
| - @test V*diagm(D)*V' ≈ A |
211 |
| - @test V'*A*V ≈ diagm(D) |
| 210 | + @test V*diagm(Val(0) => D)*V' ≈ A |
| 211 | + @test V'*A*V ≈ diagm(Val(0) => D) |
212 | 212 | end
|
213 | 213 | end
|
214 | 214 | end
|
0 commit comments