Mercurial > repos > public > sbplib_julia
comparison test/SbpOperators/allocations_test.jl @ 1887:24590890e124 allocation_testing
Refactor a little bit
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Thu, 07 Apr 2022 17:02:51 +0200 |
parents | 9ce6d939dfae |
children |
comparison
equal
deleted
inserted
replaced
1886:9ce6d939dfae | 1887:24590890e124 |
---|---|
22 | 22 |
23 dₗ = normal_derivative(g₁, stencil_set, CartesianBoundary{1,Lower}()) | 23 dₗ = normal_derivative(g₁, stencil_set, CartesianBoundary{1,Lower}()) |
24 dᵣ = normal_derivative(g₁, stencil_set, CartesianBoundary{1,Upper}()) | 24 dᵣ = normal_derivative(g₁, stencil_set, CartesianBoundary{1,Upper}()) |
25 | 25 |
26 | 26 |
27 indices = [1, 6, 15] | |
27 | 28 |
28 @testset "Derivative operator" begin | 29 v = rand(size(g₁)...) |
29 v = rand(size(g₁)...) | 30 u = fill(1.) |
30 @test (@ballocated LazyTensors.apply($D₂, $v, 1)) == 0 | |
31 @test (@ballocated LazyTensors.apply($D₂, $v, 6)) == 0 | |
32 @test (@ballocated LazyTensors.apply($D₂, $v, 15)) == 0 | |
33 end | |
34 | 31 |
35 @testset "inner_product operator" begin | 32 neumannSATₗ = H⁻¹∘eₗ'∘dₗ # TODO: Remove |
36 v = rand(size(g₁)...) | 33 neumannSATᵣ = H⁻¹∘eᵣ'∘dᵣ # TODO: Remove |
37 | 34 |
38 @test (@ballocated LazyTensors.apply($H, $v, 1)) == 0 | 35 @testset for i ∈ indices |
39 @test (@ballocated LazyTensors.apply($H, $v, 6)) == 0 | 36 @test (@ballocated LazyTensors.apply($D₂, $v, $i)) == 0 |
40 @test (@ballocated LazyTensors.apply($H, $v, 15)) == 0 | 37 @test (@ballocated LazyTensors.apply($H, $v, $i)) == 0 |
41 | 38 @test (@ballocated LazyTensors.apply($(H∘H), $v, $i)) == 0 |
42 @test (@ballocated LazyTensors.apply($(H∘H), $v, 5)) == 0 | 39 @test (@ballocated LazyTensors.apply($H⁻¹, $v, $i)) == 0 |
43 end | 40 @test (@ballocated LazyTensors.apply($eₗ', $u, $i)) == 0 |
44 | 41 @test (@ballocated LazyTensors.apply($eᵣ', $u, $i)) == 0 |
45 @testset "inverse_inner_product operator" begin | 42 @test (@ballocated LazyTensors.apply($dₗ', $u, $i)) == 0 |
46 v = rand(size(g₁)...) | 43 @test (@ballocated LazyTensors.apply($dᵣ', $u, $i)) == 0 |
47 @test (@ballocated LazyTensors.apply($H⁻¹, $v, 1)) == 0 | 44 @test (@ballocated LazyTensors.apply($neumannSATₗ, $v, $i)) == 0 |
48 @test (@ballocated LazyTensors.apply($H⁻¹, $v, 6)) == 0 | 45 @test (@ballocated LazyTensors.apply($neumannSATᵣ, $v, $i)) == 0 |
49 @test (@ballocated LazyTensors.apply($H⁻¹, $v, 15)) == 0 | |
50 end | 46 end |
51 | 47 |
52 @testset "boundary operators" begin | 48 @testset "boundary operators" begin |
53 v = rand(size(g₁)...) | |
54 @test (@ballocated LazyTensors.apply($eₗ, $v)) == 0 | 49 @test (@ballocated LazyTensors.apply($eₗ, $v)) == 0 |
55 @test (@ballocated LazyTensors.apply($eᵣ, $v)) == 0 | 50 @test (@ballocated LazyTensors.apply($eᵣ, $v)) == 0 |
56 @test (@ballocated LazyTensors.apply($dₗ, $v)) == 0 | 51 @test (@ballocated LazyTensors.apply($dₗ, $v)) == 0 |
57 @test (@ballocated LazyTensors.apply($dᵣ, $v)) == 0 | 52 @test (@ballocated LazyTensors.apply($dᵣ, $v)) == 0 |
58 end | |
59 | |
60 @testset "boundary operator transposes" begin | |
61 v = fill(1.) | |
62 @test (@ballocated LazyTensors.apply($eₗ', $v, 1)) == 0 | |
63 @test (@ballocated LazyTensors.apply($eₗ', $v, 7)) == 0 | |
64 @test (@ballocated LazyTensors.apply($eₗ', $v, 15)) == 0 | |
65 | |
66 @test (@ballocated LazyTensors.apply($eᵣ', $v, 1)) == 0 | |
67 @test (@ballocated LazyTensors.apply($eᵣ', $v, 7)) == 0 | |
68 @test (@ballocated LazyTensors.apply($eᵣ', $v, 15)) == 0 | |
69 | |
70 @test (@ballocated LazyTensors.apply($dₗ', $v, 1)) == 0 | |
71 @test (@ballocated LazyTensors.apply($dₗ', $v, 7)) == 0 | |
72 @test (@ballocated LazyTensors.apply($dₗ', $v, 15)) == 0 | |
73 | |
74 @test (@ballocated LazyTensors.apply($dᵣ', $v, 1)) == 0 | |
75 @test (@ballocated LazyTensors.apply($dᵣ', $v, 7)) == 0 | |
76 @test (@ballocated LazyTensors.apply($dᵣ', $v, 15)) == 0 | |
77 end | |
78 | |
79 @testset "sat terms" begin | |
80 v = rand(size(g₁)...) | |
81 neumannSATₗ = H⁻¹∘eₗ'∘dₗ | |
82 neumannSATᵣ = H⁻¹∘eᵣ'∘dᵣ | |
83 | |
84 | |
85 @test (@ballocated LazyTensors.apply($neumannSATₗ, $v, 1)) == 0 | |
86 @test (@ballocated LazyTensors.apply($neumannSATₗ, $v, 6)) == 0 | |
87 @test (@ballocated LazyTensors.apply($neumannSATₗ, $v, 15)) == 0 | |
88 | |
89 @test (@ballocated LazyTensors.apply($neumannSATᵣ, $v, 1)) == 0 | |
90 @test (@ballocated LazyTensors.apply($neumannSATᵣ, $v, 6)) == 0 | |
91 @test (@ballocated LazyTensors.apply($neumannSATᵣ, $v, 15)) == 0 | |
92 end | 53 end |
93 end | 54 end |
94 | 55 |
95 | 56 |
96 @testset "2D" begin | 57 @testset "2D" begin |
115 H₁ᵤ = inner_product(boundary_grid(g₂, CartesianBoundary{1,Upper}()), stencil_set) | 76 H₁ᵤ = inner_product(boundary_grid(g₂, CartesianBoundary{1,Upper}()), stencil_set) |
116 H₂ₗ = inner_product(boundary_grid(g₂, CartesianBoundary{2,Lower}()), stencil_set) | 77 H₂ₗ = inner_product(boundary_grid(g₂, CartesianBoundary{2,Lower}()), stencil_set) |
117 H₂ᵤ = inner_product(boundary_grid(g₂, CartesianBoundary{2,Upper}()), stencil_set) | 78 H₂ᵤ = inner_product(boundary_grid(g₂, CartesianBoundary{2,Upper}()), stencil_set) |
118 | 79 |
119 | 80 |
120 @testset "Derivative operator" begin | 81 # neumannSAT₁ₗ = H⁻¹∘e₁ₗ'∘H₁ₗ∘d₁ₗ |
121 v = rand(size(g₂)...) | 82 # neumannSAT₂ᵤ = H⁻¹∘e₂ᵤ'∘H₂ᵤ∘d₂ᵤ |
122 @test (@ballocated LazyTensors.apply($D₂x, $v, 1, 7)) == 0 | |
123 @test (@ballocated LazyTensors.apply($D₂x, $v, 6, 7)) == 0 | |
124 @test (@ballocated LazyTensors.apply($D₂x, $v, 15, 7)) == 0 | |
125 | 83 |
126 @test (@ballocated LazyTensors.apply($D₂y, $v, 7, 1)) == 0 | 84 neumannSAT₁ₗ = e₁ₗ'∘d₁ₗ # TODO: Remove |
127 @test (@ballocated LazyTensors.apply($D₂y, $v, 7, 6)) == 0 | 85 neumannSAT₂ᵤ = e₂ᵤ'∘d₂ᵤ # TODO: Remove |
128 @test (@ballocated LazyTensors.apply($D₂y, $v, 7, 15)) == 0 | |
129 | 86 |
130 @test (@ballocated LazyTensors.apply($(D₂x∘D₂y), $v, 1, 1)) == 0 | 87 indices = [1,6,15] |
131 @test (@ballocated LazyTensors.apply($(D₂x∘D₂y), $v, 7, 6)) == 0 | |
132 @test (@ballocated LazyTensors.apply($(D₂x∘D₂y), $v, 15, 15)) == 0 | |
133 end | |
134 | 88 |
135 @testset "inner_product operator" begin | 89 v = rand(size(g₂)...) |
136 v = rand(size(g₂)...) | 90 u = rand(first(size(g₂))) |
137 @test (@ballocated LazyTensors.apply($H, $v, 1, 1)) == 0 | 91 |
138 @test (@ballocated LazyTensors.apply($H, $v, 1, 6)) == 0 | 92 @testset for i ∈ indices |
139 @test (@ballocated LazyTensors.apply($H, $v, 1, 15)) == 0 | 93 @testset for j ∈ indices |
140 @test (@ballocated LazyTensors.apply($H, $v, 6, 1)) == 0 | 94 @test (@ballocated LazyTensors.apply($D₂x, $v, $i, $j)) == 0 |
141 @test (@ballocated LazyTensors.apply($H, $v, 6, 6)) == 0 | 95 @test (@ballocated LazyTensors.apply($D₂y, $v, $i, $j)) == 0 |
142 @test (@ballocated LazyTensors.apply($H, $v, 6, 15)) == 0 | 96 @test (@ballocated LazyTensors.apply($(D₂x∘D₂y), $v, $i, $j)) == 0 |
143 @test (@ballocated LazyTensors.apply($H, $v, 15, 1)) == 0 | 97 @test (@ballocated LazyTensors.apply($H, $v, $i, $j)) == 0 |
144 @test (@ballocated LazyTensors.apply($H, $v, 15, 6)) == 0 | 98 @test (@ballocated LazyTensors.apply($(H∘H), $v, $i, $j)) == 0 |
145 @test (@ballocated LazyTensors.apply($H, $v, 15, 15)) == 0 | 99 @test (@ballocated LazyTensors.apply($H⁻¹, $v, $i, $j)) == 0 |
100 | |
101 @test (@ballocated LazyTensors.apply($e₁ₗ', $u, $i, $j)) == 0 | |
102 @test (@ballocated LazyTensors.apply($e₁ᵤ', $u, $i, $j)) == 0 | |
103 @test (@ballocated LazyTensors.apply($e₂ₗ', $u, $i, $j)) == 0 | |
104 @test (@ballocated LazyTensors.apply($e₂ᵤ', $u, $i, $j)) == 0 | |
105 | |
106 @test (@ballocated LazyTensors.apply($d₁ₗ', $u, $i, $j)) == 0 | |
107 @test (@ballocated LazyTensors.apply($d₁ᵤ', $u, $i, $j)) == 0 | |
108 @test (@ballocated LazyTensors.apply($d₂ₗ', $u, $i, $j)) == 0 | |
109 @test (@ballocated LazyTensors.apply($d₂ᵤ', $u, $i, $j)) == 0 | |
110 | |
111 @test (@ballocated LazyTensors.apply($neumannSAT₁ₗ, $v, $i, $j)) == 0 | |
112 @test (@ballocated LazyTensors.apply($neumannSAT₂ᵤ, $v, $i, $j)) == 0 | |
146 | 113 |
147 | 114 |
148 @test (@ballocated LazyTensors.apply($(H∘H), $v, 5, 5)) == 0 | |
149 end | |
150 | 115 |
151 @testset "inverse_inner_product operator" begin | 116 ## Experiments |
152 v = rand(size(g₂)...) | 117 @test (@ballocated LazyTensors.apply($(e₁ₗ'∘d₁ₗ), $v, $i, $j)) == 0 |
153 @test (@ballocated LazyTensors.apply($H⁻¹, $v, 1, 1)) == 0 | 118 @test (@ballocated LazyTensors.apply($(d₁ₗ'∘e₁ₗ), $v, $i, $j)) == 0 |
154 @test (@ballocated LazyTensors.apply($H⁻¹, $v, 1, 6)) == 0 | |
155 @test (@ballocated LazyTensors.apply($H⁻¹, $v, 1, 15)) == 0 | |
156 @test (@ballocated LazyTensors.apply($H⁻¹, $v, 6, 1)) == 0 | |
157 @test (@ballocated LazyTensors.apply($H⁻¹, $v, 6, 6)) == 0 | |
158 @test (@ballocated LazyTensors.apply($H⁻¹, $v, 6, 15)) == 0 | |
159 @test (@ballocated LazyTensors.apply($H⁻¹, $v, 15, 1)) == 0 | |
160 @test (@ballocated LazyTensors.apply($H⁻¹, $v, 15, 6)) == 0 | |
161 @test (@ballocated LazyTensors.apply($H⁻¹, $v, 15, 15)) == 0 | |
162 end | |
163 | 119 |
164 @testset "boundary operators" begin | 120 @test_broken (@ballocated LazyTensors.apply($(H⁻¹∘e₁ₗ'∘H₁ₗ∘d₁ₗ), $v, $i, $j)) == 0 |
165 v = rand(size(g₂)...) | 121 @test_broken (@ballocated LazyTensors.apply($(e₁ₗ'∘H₁ₗ∘d₁ₗ∘H⁻¹), $v, $i, $j)) == 0 |
166 @test (@ballocated LazyTensors.apply($e₁ₗ, $v, 1)) == 0 | 122 @test (@ballocated LazyTensors.apply($(e₁ₗ'∘H₁ₗ∘d₁ₗ), $v, $i, $j)) == 0 |
167 @test (@ballocated LazyTensors.apply($e₁ᵤ, $v, 5)) == 0 | 123 @test_broken (@ballocated LazyTensors.apply($(H⁻¹∘e₁ₗ'∘d₁ₗ), $v, $i, $j)) == 0 |
168 @test (@ballocated LazyTensors.apply($e₂ₗ, $v, 15)) == 0 | 124 @test (@ballocated LazyTensors.apply($(H⁻¹∘D₂x), $v, $i, $j)) == 0 |
169 @test (@ballocated LazyTensors.apply($e₂ᵤ, $v, 3)) == 0 | 125 @test (@ballocated LazyTensors.apply($(H⁻¹∘D₂y), $v, $i, $j)) == 0 |
126 @test_broken (@ballocated LazyTensors.apply($(H⁻¹∘D₂x∘D₂y), $v, $i, $j)) == 0 | |
127 @test_broken (@ballocated LazyTensors.apply($(D₂x∘e₁ₗ'∘H₁ₗ∘d₁ₗ), $v, $i, $j)) == 0 | |
128 @test_broken (@ballocated LazyTensors.apply($(D₂y∘e₁ₗ'∘H₁ₗ∘d₁ₗ), $v, $i, $j)) == 0 | |
129 @test (@ballocated LazyTensors.apply($(D₂x∘e₁ₗ'∘d₁ₗ), $v, $i, $j)) == 0 | |
130 @test (@ballocated LazyTensors.apply($(D₂y∘e₁ₗ'∘d₁ₗ), $v, $i, $j)) == 0 | |
170 | 131 |
171 @test (@ballocated LazyTensors.apply($d₁ₗ, $v, 5)) == 0 | 132 @test (@ballocated LazyTensors.apply($(H⁻¹∘e₁ₗ'), $u, $i, $j)) == 0 |
172 @test (@ballocated LazyTensors.apply($d₁ᵤ, $v, 15)) == 0 | 133 @test (@ballocated LazyTensors.apply($(e₁ₗ'∘H₁ₗ), $u, $i, $j)) == 0 |
173 @test (@ballocated LazyTensors.apply($d₂ₗ, $v, 1)) == 0 | 134 @test (@ballocated LazyTensors.apply($(H₁ₗ∘d₁ₗ), $v, $i)) == 0 |
174 @test (@ballocated LazyTensors.apply($d₂ᵤ, $v, 5)) == 0 | |
175 end | |
176 | 135 |
177 @testset "boundary operator transposes" begin | 136 @test_broken (@ballocated LazyTensors.apply($(H⁻¹∘e₁ₗ'∘H₁ₗ), $u, $i, $j)) == 0 |
178 v = rand(first(size(g₂))) | 137 @test (@ballocated LazyTensors.apply($(H₁ₗ∘e₁ₗ∘H⁻¹), $v, $i)) == 0 |
138 @test (@ballocated LazyTensors.apply($(H₁ₗ∘d₁ₗ∘H⁻¹), $v, $i)) == 0 | |
179 | 139 |
180 @test (@ballocated LazyTensors.apply($e₁ₗ', $v, 1, 1)) == 0 | 140 @test_broken (@ballocated LazyTensors.apply($(e₁ₗ'∘e₁ₗ∘e₁ₗ'∘e₁ₗ), $v, $i, $j)) == 0 |
181 @test (@ballocated LazyTensors.apply($e₁ₗ', $v, 1, 6)) == 0 | 141 @test (@ballocated LazyTensors.apply($(e₁ₗ'∘e₁ₗ∘e₁ₗ'), $u, $i, $j)) == 0 |
182 @test (@ballocated LazyTensors.apply($e₁ₗ', $v, 1, 15)) == 0 | 142 @test (@ballocated LazyTensors.apply($(e₁ₗ∘e₁ₗ'∘e₁ₗ), $v, $i)) == 0 |
183 @test (@ballocated LazyTensors.apply($e₁ₗ', $v, 6, 1)) == 0 | 143 @test (@ballocated LazyTensors.apply($(e₁ₗ'∘e₁ₗ), $v, $i, $j)) == 0 |
184 @test (@ballocated LazyTensors.apply($e₁ₗ', $v, 6, 6)) == 0 | 144 @test (@ballocated LazyTensors.apply($(e₁ₗ∘e₁ₗ'), $u, $i)) == 0 |
185 @test (@ballocated LazyTensors.apply($e₁ₗ', $v, 6, 15)) == 0 | |
186 @test (@ballocated LazyTensors.apply($e₁ₗ', $v, 15, 1)) == 0 | |
187 @test (@ballocated LazyTensors.apply($e₁ₗ', $v, 15, 6)) == 0 | |
188 @test (@ballocated LazyTensors.apply($e₁ₗ', $v, 15, 15)) == 0 | |
189 | |
190 @test (@ballocated LazyTensors.apply($d₂ᵤ', $v, 1, 1)) == 0 | |
191 @test (@ballocated LazyTensors.apply($d₂ᵤ', $v, 1, 6)) == 0 | |
192 @test (@ballocated LazyTensors.apply($d₂ᵤ', $v, 1, 15)) == 0 | |
193 @test (@ballocated LazyTensors.apply($d₂ᵤ', $v, 6, 1)) == 0 | |
194 @test (@ballocated LazyTensors.apply($d₂ᵤ', $v, 6, 6)) == 0 | |
195 @test (@ballocated LazyTensors.apply($d₂ᵤ', $v, 6, 15)) == 0 | |
196 @test (@ballocated LazyTensors.apply($d₂ᵤ', $v, 15, 1)) == 0 | |
197 @test (@ballocated LazyTensors.apply($d₂ᵤ', $v, 15, 6)) == 0 | |
198 @test (@ballocated LazyTensors.apply($d₂ᵤ', $v, 15, 15)) == 0 | |
199 end | |
200 | |
201 @testset "sat terms" begin | |
202 v = rand(size(g₂)...) | |
203 u = rand(size(g₂)[1]) | |
204 # neumannSAT₁ₗ = H⁻¹∘e₁ₗ'∘H₁ₗ∘d₁ₗ | |
205 # neumannSAT₂ᵤ = H⁻¹∘e₂ᵤ'∘H₂ᵤ∘d₂ᵤ | |
206 | |
207 neumannSAT₁ₗ = e₁ₗ'∘d₁ₗ | |
208 neumannSAT₂ᵤ = e₂ᵤ'∘d₂ᵤ | |
209 | |
210 # indices = [1,6,15] | |
211 indices = [1] | |
212 | |
213 @testset for i ∈ indices | |
214 @testset for j ∈ indices | |
215 @test (@ballocated LazyTensors.apply($(e₁ₗ'∘d₁ₗ), $v, $i, $j)) == 0 | |
216 @test (@ballocated LazyTensors.apply($(d₁ₗ'∘e₁ₗ), $v, $i, $j)) == 0 | |
217 | |
218 @test_broken (@ballocated LazyTensors.apply($(H⁻¹∘e₁ₗ'∘H₁ₗ∘d₁ₗ), $v, $i, $j)) == 0 | |
219 @test_broken (@ballocated LazyTensors.apply($(e₁ₗ'∘H₁ₗ∘d₁ₗ∘H⁻¹), $v, $i, $j)) == 0 | |
220 @test (@ballocated LazyTensors.apply($(e₁ₗ'∘H₁ₗ∘d₁ₗ), $v, $i, $j)) == 0 | |
221 @test_broken (@ballocated LazyTensors.apply($(H⁻¹∘e₁ₗ'∘d₁ₗ), $v, $i, $j)) == 0 | |
222 @test (@ballocated LazyTensors.apply($(H⁻¹∘D₂x), $v, $i, $j)) == 0 | |
223 @test (@ballocated LazyTensors.apply($(H⁻¹∘D₂y), $v, $i, $j)) == 0 | |
224 @test_broken (@ballocated LazyTensors.apply($(H⁻¹∘D₂x∘D₂y), $v, $i, $j)) == 0 | |
225 @test_broken (@ballocated LazyTensors.apply($(D₂x∘e₁ₗ'∘H₁ₗ∘d₁ₗ), $v, $i, $j)) == 0 | |
226 @test_broken (@ballocated LazyTensors.apply($(D₂y∘e₁ₗ'∘H₁ₗ∘d₁ₗ), $v, $i, $j)) == 0 | |
227 @test (@ballocated LazyTensors.apply($(D₂x∘e₁ₗ'∘d₁ₗ), $v, $i, $j)) == 0 | |
228 @test (@ballocated LazyTensors.apply($(D₂y∘e₁ₗ'∘d₁ₗ), $v, $i, $j)) == 0 | |
229 | |
230 @test (@ballocated LazyTensors.apply($(H⁻¹∘e₁ₗ'), $u, $i, $j)) == 0 | |
231 @test (@ballocated LazyTensors.apply($(e₁ₗ'∘H₁ₗ), $u, $i, $j)) == 0 | |
232 @test (@ballocated LazyTensors.apply($(H₁ₗ∘d₁ₗ), $v, $i)) == 0 | |
233 | |
234 @test_broken (@ballocated LazyTensors.apply($(H⁻¹∘e₁ₗ'∘H₁ₗ), $u, $i, $j)) == 0 | |
235 @test (@ballocated LazyTensors.apply($(H₁ₗ∘e₁ₗ∘H⁻¹), $v, $i)) == 0 | |
236 @test (@ballocated LazyTensors.apply($(H₁ₗ∘d₁ₗ∘H⁻¹), $v, $i)) == 0 | |
237 | |
238 @test_broken (@ballocated LazyTensors.apply($(e₁ₗ'∘e₁ₗ∘e₁ₗ'∘e₁ₗ), $v, $i, $j)) == 0 | |
239 @test (@ballocated LazyTensors.apply($(e₁ₗ'∘e₁ₗ∘e₁ₗ'), $u, $i, $j)) == 0 | |
240 @test (@ballocated LazyTensors.apply($(e₁ₗ∘e₁ₗ'∘e₁ₗ), $v, $i)) == 0 | |
241 @test (@ballocated LazyTensors.apply($(e₁ₗ'∘e₁ₗ), $v, $i, $j)) == 0 | |
242 @test (@ballocated LazyTensors.apply($(e₁ₗ∘e₁ₗ'), $u, $i)) == 0 | |
243 | 145 |
244 | 146 |
245 @test (@ballocated LazyTensors.apply($H, $v, $i, $j)) == 0 | 147 @test (@ballocated LazyTensors.apply($H, $v, $i, $j)) == 0 |
246 @test (@ballocated LazyTensors.apply($(H∘H), $v, $i, $j)) == 0 | 148 @test (@ballocated LazyTensors.apply($(H∘H), $v, $i, $j)) == 0 |
247 @test_broken (@ballocated LazyTensors.apply($(H∘H∘H), $v, $i, $j)) == 0 | 149 @test_broken (@ballocated LazyTensors.apply($(H∘H∘H), $v, $i, $j)) == 0 |
248 @test_broken (@ballocated LazyTensors.apply($(H∘H∘H∘H), $v, $i, $j)) == 0 | 150 @test_broken (@ballocated LazyTensors.apply($(H∘H∘H∘H), $v, $i, $j)) == 0 |
249 end | |
250 @test (@ballocated LazyTensors.apply($(e₁ₗ∘d₁ₗ'), $u, $i)) == 0 | |
251 @test (@ballocated LazyTensors.apply($(d₁ₗ∘e₁ₗ'), $u, $i)) == 0 | |
252 | 151 |
253 @test (@ballocated LazyTensors.apply($(e₁ₗ∘H∘d₁ₗ'), $u, $i)) == 0 | 152 end |
254 @test (@ballocated LazyTensors.apply($(d₁ₗ∘H∘e₁ₗ'), $u, $i)) == 0 | |
255 | 153 |
256 @test (@ballocated LazyTensors.apply($(H₁ₗ∘e₁ₗ∘d₁ₗ'), $u, $i)) == 0 | 154 @test (@ballocated LazyTensors.apply($e₁ₗ, $v, $i)) == 0 |
257 @test (@ballocated LazyTensors.apply($(H₁ₗ∘d₁ₗ∘e₁ₗ'), $u, $i)) == 0 | 155 @test (@ballocated LazyTensors.apply($e₁ᵤ, $v, $i)) == 0 |
156 @test (@ballocated LazyTensors.apply($e₂ₗ, $v, $i)) == 0 | |
157 @test (@ballocated LazyTensors.apply($e₂ᵤ, $v, $i)) == 0 | |
258 | 158 |
259 @test_broken (@ballocated LazyTensors.apply($(H₁ₗ∘e₁ₗ∘H∘d₁ₗ'), $u, $i)) == 0 | 159 @test (@ballocated LazyTensors.apply($d₁ₗ, $v, $i)) == 0 |
260 @test_broken (@ballocated LazyTensors.apply($(H₁ₗ∘d₁ₗ∘H∘e₁ₗ'), $u, $i)) == 0 | 160 @test (@ballocated LazyTensors.apply($d₁ᵤ, $v, $i)) == 0 |
161 @test (@ballocated LazyTensors.apply($d₂ₗ, $v, $i)) == 0 | |
162 @test (@ballocated LazyTensors.apply($d₂ᵤ, $v, $i)) == 0 | |
261 | 163 |
262 @test_broken (@ballocated LazyTensors.apply($(e₁ₗ∘H∘d₁ₗ'∘H₁ₗ), $u, $i)) == 0 | 164 ## Experiments |
263 @test_broken (@ballocated LazyTensors.apply($(d₁ₗ∘H∘e₁ₗ'∘H₁ₗ), $u, $i)) == 0 | 165 @test (@ballocated LazyTensors.apply($(e₁ₗ∘d₁ₗ'), $u, $i)) == 0 |
264 end | 166 @test (@ballocated LazyTensors.apply($(d₁ₗ∘e₁ₗ'), $u, $i)) == 0 |
265 @test (@ballocated LazyTensors.apply($neumannSAT₁ₗ, $v, 1, 1)) == 0 | |
266 @test (@ballocated LazyTensors.apply($neumannSAT₁ₗ, $v, 1, 6)) == 0 | |
267 @test (@ballocated LazyTensors.apply($neumannSAT₁ₗ, $v, 1, 15)) == 0 | |
268 @test (@ballocated LazyTensors.apply($neumannSAT₁ₗ, $v, 6, 1)) == 0 | |
269 @test (@ballocated LazyTensors.apply($neumannSAT₁ₗ, $v, 6, 6)) == 0 | |
270 @test (@ballocated LazyTensors.apply($neumannSAT₁ₗ, $v, 6, 15)) == 0 | |
271 @test (@ballocated LazyTensors.apply($neumannSAT₁ₗ, $v, 15, 1)) == 0 | |
272 @test (@ballocated LazyTensors.apply($neumannSAT₁ₗ, $v, 15, 6)) == 0 | |
273 @test (@ballocated LazyTensors.apply($neumannSAT₁ₗ, $v, 15, 15)) == 0 | |
274 | 167 |
275 @test (@ballocated LazyTensors.apply($neumannSAT₂ᵤ, $v, 1, 1)) == 0 | 168 @test (@ballocated LazyTensors.apply($(e₁ₗ∘H∘d₁ₗ'), $u, $i)) == 0 |
276 @test (@ballocated LazyTensors.apply($neumannSAT₂ᵤ, $v, 1, 6)) == 0 | 169 @test (@ballocated LazyTensors.apply($(d₁ₗ∘H∘e₁ₗ'), $u, $i)) == 0 |
277 @test (@ballocated LazyTensors.apply($neumannSAT₂ᵤ, $v, 1, 15)) == 0 | 170 |
278 @test (@ballocated LazyTensors.apply($neumannSAT₂ᵤ, $v, 6, 1)) == 0 | 171 @test (@ballocated LazyTensors.apply($(H₁ₗ∘e₁ₗ∘d₁ₗ'), $u, $i)) == 0 |
279 @test (@ballocated LazyTensors.apply($neumannSAT₂ᵤ, $v, 6, 6)) == 0 | 172 @test (@ballocated LazyTensors.apply($(H₁ₗ∘d₁ₗ∘e₁ₗ'), $u, $i)) == 0 |
280 @test (@ballocated LazyTensors.apply($neumannSAT₂ᵤ, $v, 6, 15)) == 0 | 173 |
281 @test (@ballocated LazyTensors.apply($neumannSAT₂ᵤ, $v, 15, 1)) == 0 | 174 @test_broken (@ballocated LazyTensors.apply($(H₁ₗ∘e₁ₗ∘H∘d₁ₗ'), $u, $i)) == 0 |
282 @test (@ballocated LazyTensors.apply($neumannSAT₂ᵤ, $v, 15, 6)) == 0 | 175 @test_broken (@ballocated LazyTensors.apply($(H₁ₗ∘d₁ₗ∘H∘e₁ₗ'), $u, $i)) == 0 |
283 @test (@ballocated LazyTensors.apply($neumannSAT₂ᵤ, $v, 15, 15)) == 0 | 176 |
177 @test_broken (@ballocated LazyTensors.apply($(e₁ₗ∘H∘d₁ₗ'∘H₁ₗ), $u, $i)) == 0 | |
178 @test_broken (@ballocated LazyTensors.apply($(d₁ₗ∘H∘e₁ₗ'∘H₁ₗ), $u, $i)) == 0 | |
284 end | 179 end |
285 | |
286 end | 180 end |
287 end | 181 end |