@@ -15,49 +15,49 @@ import ArrayLayouts: ApplyBroadcastStyle, QRCompactWYQLayout, QRCompactWYLayout,
15
15
@test size (M) == (5 ,)
16
16
@test similar (M) isa Vector{Float64}
17
17
@test materialize (M) isa Vector{Float64}
18
- @test all ( materialize (M) .=== (A\ b) .=== ldiv (A,b) )
18
+ @test materialize (M) == (A\ b) == ldiv (A,b)
19
19
20
20
@test Base. BroadcastStyle (typeof (Ldiv (A,b))) isa ApplyBroadcastStyle
21
21
22
- @test all ( copyto! (similar (b), Ldiv (A,b)) .= ==
23
- (similar (b) .= Ldiv (A,b)) .=== materialize (Ldiv (A,b)) .= ==
24
- (A\ b) .=== (b̃ = copy (b); LAPACK. gesv! (copy (A), b̃); b̃) )
22
+ @test copyto! (similar (b), Ldiv (A,b)) ==
23
+ (similar (b) .= Ldiv (A,b)) == materialize (Ldiv (A,b)) ==
24
+ (A\ b) == (b̃ = copy (b); LAPACK. gesv! (copy (A), b̃); b̃)
25
25
26
26
@test copyto! (similar (b), Ldiv (UpperTriangular (A) , b)) ≈ UpperTriangular (A) \ b
27
- @test all ( copyto! (similar (b), Ldiv (UpperTriangular (A) , b)) .= ==
28
- (similar (b) .= Ldiv (UpperTriangular (A),b)) .= ==
29
- BLAS. trsv (' U' , ' N' , ' N' , A, b) )
27
+ @test copyto! (similar (b), Ldiv (UpperTriangular (A) , b)) ==
28
+ (similar (b) .= Ldiv (UpperTriangular (A),b)) ==
29
+ BLAS. trsv (' U' , ' N' , ' N' , A, b)
30
30
31
31
@test copyto! (similar (b), Ldiv (UpperTriangular (A)' , b)) ≈ UpperTriangular (A)' \ b
32
- @test all ( copyto! (similar (b), Ldiv (UpperTriangular (A)' , b)) .= ==
33
- (similar (b) .= Ldiv (UpperTriangular (A)' ,b)) .= ==
34
- copyto! (similar (b), Ldiv (transpose (UpperTriangular (A)) , b)) .= ==
35
- (similar (b) .= Ldiv (transpose (UpperTriangular (A)),b)) .= ==
36
- BLAS. trsv (' U' , ' T' , ' N' , A, b))
32
+ @test copyto! (similar (b), Ldiv (UpperTriangular (A)' , b)) ==
33
+ (similar (b) .= Ldiv (UpperTriangular (A)' ,b)) ==
34
+ copyto! (similar (b), Ldiv (transpose (UpperTriangular (A)) , b)) ==
35
+ (similar (b) .= Ldiv (transpose (UpperTriangular (A)),b)) ==
36
+ BLAS. trsv (' U' , ' T' , ' N' , A, b)
37
37
end
38
38
39
39
@testset " ComplexF64 \\ *" begin
40
40
T = ComplexF64
41
41
A = randn (T,5 ,5 )
42
42
b = randn (T,5 )
43
- @test all ( copyto! (similar (b), Ldiv (A,b)) .= ==
44
- (similar (b) .= Ldiv (A,b)) .= ==
45
- (A\ b) .=== (b̃ = copy (b); LAPACK. gesv! (copy (A), b̃); b̃) )
43
+ @test copyto! (similar (b), Ldiv (A,b)) ==
44
+ (similar (b) .= Ldiv (A,b)) ==
45
+ (A\ b) == (b̃ = copy (b); LAPACK. gesv! (copy (A), b̃); b̃)
46
46
47
47
@test copyto! (similar (b), Ldiv (UpperTriangular (A) , b)) ≈ UpperTriangular (A) \ b
48
- @test all ( copyto! (similar (b), Ldiv (UpperTriangular (A) , b)) .= ==
49
- (similar (b) .= Ldiv (UpperTriangular (A),b)) .= ==
50
- BLAS. trsv (' U' , ' N' , ' N' , A, b) )
48
+ @test copyto! (similar (b), Ldiv (UpperTriangular (A) , b)) ==
49
+ (similar (b) .= Ldiv (UpperTriangular (A),b)) ==
50
+ BLAS. trsv (' U' , ' N' , ' N' , A, b)
51
51
52
52
@test copyto! (similar (b), Ldiv (UpperTriangular (A)' , b)) ≈ UpperTriangular (A)' \ b
53
- @test all ( copyto! (similar (b), Ldiv (UpperTriangular (A)' , b)) .= ==
54
- (similar (b) .= Ldiv (UpperTriangular (A)' ,b)) .= ==
55
- BLAS. trsv (' U' , ' C' , ' N' , A, b))
53
+ @test copyto! (similar (b), Ldiv (UpperTriangular (A)' , b)) ==
54
+ (similar (b) .= Ldiv (UpperTriangular (A)' ,b)) ==
55
+ BLAS. trsv (' U' , ' C' , ' N' , A, b)
56
56
57
57
@test copyto! (similar (b), Ldiv (transpose (UpperTriangular (A)) , b)) ≈ transpose (UpperTriangular (A)) \ b
58
- @test all ( copyto! (similar (b), Ldiv (transpose (UpperTriangular (A)) , b)) .= ==
59
- (similar (b) .= Ldiv (transpose (UpperTriangular (A)),b)) .= ==
60
- BLAS. trsv (' U' , ' T' , ' N' , A, b))
58
+ @test copyto! (similar (b), Ldiv (transpose (UpperTriangular (A)) , b)) ==
59
+ (similar (b) .= Ldiv (transpose (UpperTriangular (A)),b)) ==
60
+ BLAS. trsv (' U' , ' T' , ' N' , A, b)
61
61
end
62
62
63
63
@testset " BigFloat Triangular \\ " begin
@@ -152,12 +152,12 @@ import ArrayLayouts: ApplyBroadcastStyle, QRCompactWYQLayout, QRCompactWYLayout,
152
152
Q = F. Q
153
153
@test MemoryLayout (F) isa QRCompactWYLayout
154
154
@test MemoryLayout (Q) isa QRCompactWYQLayout
155
- @test all ( ArrayLayouts. lmul! (Q,copy (b)) .=== lmul! (Q,copy (b) ))
156
- @test all ( ArrayLayouts. lmul! (Q' ,copy (b)) .=== ArrayLayouts. ldiv! (Q,copy (b)) .=== lmul! (Q' ,copy (b) ))
157
- @test all ( ArrayLayouts. lmul! (Q,copy (B)) .=== lmul! (Q,copy (B) ))
158
- @test all ( ArrayLayouts. lmul! (Q' ,copy (B)) .=== ArrayLayouts. ldiv! (Q,copy (B)) .=== lmul! (Q' ,copy (B) ))
159
- @test all ( ArrayLayouts. rmul! (copy (B),Q) .=== rmul! (copy (B),Q) )
160
- @test all ( ArrayLayouts. rmul! (copy (B),Q' ) .=== ArrayLayouts. rdiv! (copy (B),Q) .=== rmul! (copy (B),Q' ) )
155
+ @test ArrayLayouts. lmul! (Q,copy (b)) == lmul! (Q,copy (b))
156
+ @test ArrayLayouts. lmul! (Q' ,copy (b)) == ArrayLayouts. ldiv! (Q,copy (b)) == lmul! (Q' ,copy (b))
157
+ @test ArrayLayouts. lmul! (Q,copy (B)) == lmul! (Q,copy (B))
158
+ @test ArrayLayouts. lmul! (Q' ,copy (B)) == ArrayLayouts. ldiv! (Q,copy (B)) == lmul! (Q' ,copy (B))
159
+ @test ArrayLayouts. rmul! (copy (B),Q) == rmul! (copy (B),Q)
160
+ @test ArrayLayouts. rmul! (copy (B),Q' ) == ArrayLayouts. rdiv! (copy (B),Q) == rmul! (copy (B),Q' )
161
161
@test ArrayLayouts. ldiv! (F,copy (b)) ≈ ldiv! (F,copy (b)) # only approx since we use BLAS.trsv!
162
162
@test ArrayLayouts. ldiv! (F,copy (B)) ≈ ldiv! (F,copy (B)) # only approx since we use BLAS.trsv!
163
163
@@ -176,11 +176,11 @@ import ArrayLayouts: ApplyBroadcastStyle, QRCompactWYQLayout, QRCompactWYLayout,
176
176
Q = F. Q
177
177
@test MemoryLayout (F) isa QRPackedLayout
178
178
@test MemoryLayout (Q) isa QRPackedQLayout
179
- @test all ( ArrayLayouts. lmul! (Q,copy (b)) .=== lmul! (Q,copy (b) ))
180
- @test all ( ArrayLayouts. lmul! (Q' ,copy (b)) .=== ArrayLayouts. ldiv! (Q,copy (b)) .=== lmul! (Q' ,copy (b) ))
181
- @test all ( ArrayLayouts. lmul! (Q,copy (B)) .=== lmul! (Q,copy (B) ))
182
- @test all ( ArrayLayouts. lmul! (Q' ,copy (B)) .=== ArrayLayouts. ldiv! (Q,copy (B)) .=== lmul! (Q' ,copy (B) ))
183
- @test all ( ArrayLayouts. rmul! (copy (B),Q) .=== rmul! (copy (B),Q) )
179
+ @test ArrayLayouts. lmul! (Q,copy (b)) == lmul! (Q,copy (b))
180
+ @test ArrayLayouts. lmul! (Q' ,copy (b)) == ArrayLayouts. ldiv! (Q,copy (b)) == lmul! (Q' ,copy (b))
181
+ @test ArrayLayouts. lmul! (Q,copy (B)) == lmul! (Q,copy (B))
182
+ @test ArrayLayouts. lmul! (Q' ,copy (B)) == ArrayLayouts. ldiv! (Q,copy (B)) == lmul! (Q' ,copy (B))
183
+ @test ArrayLayouts. rmul! (copy (B),Q) == rmul! (copy (B),Q)
184
184
@test ArrayLayouts. rmul! (copy (B),Q' ) ≈ ArrayLayouts. rdiv! (copy (B),Q) ≈ rmul! (copy (B),Q' )
185
185
@test ArrayLayouts. ldiv! (F,copy (b)) ≈ ldiv! (F,copy (b)) # only approx since we use BLAS.trsv!
186
186
@test ArrayLayouts. ldiv! (F,copy (B)) ≈ ldiv! (F,copy (B)) # only approx since we use BLAS.trsv!
@@ -216,11 +216,11 @@ import ArrayLayouts: ApplyBroadcastStyle, QRCompactWYQLayout, QRCompactWYLayout,
216
216
B = T .(randn (12 ,12 ))
217
217
F = LinearAlgebra. qrfactUnblocked! (copy (A))
218
218
Q = F. Q
219
- @test all ( ArrayLayouts. lmul! (Q,copy (b)) == lmul! (Q,copy (b) ))
220
- @test all ( ArrayLayouts. lmul! (Q' ,copy (b)) == ArrayLayouts. ldiv! (Q,copy (b)) == lmul! (Q' ,copy (b) ))
221
- @test all ( ArrayLayouts. lmul! (Q,copy (B)) == lmul! (Q,copy (B) ))
222
- @test all ( ArrayLayouts. lmul! (Q' ,copy (B)) == ArrayLayouts. ldiv! (Q,copy (B)) == lmul! (Q' ,copy (B) ))
223
- @test all ( ArrayLayouts. rmul! (copy (B),Q) == rmul! (copy (B),Q) )
219
+ @test ArrayLayouts. lmul! (Q,copy (b)) == lmul! (Q,copy (b))
220
+ @test ArrayLayouts. lmul! (Q' ,copy (b)) == ArrayLayouts. ldiv! (Q,copy (b)) == lmul! (Q' ,copy (b))
221
+ @test ArrayLayouts. lmul! (Q,copy (B)) == lmul! (Q,copy (B))
222
+ @test ArrayLayouts. lmul! (Q' ,copy (B)) == ArrayLayouts. ldiv! (Q,copy (B)) == lmul! (Q' ,copy (B))
223
+ @test ArrayLayouts. rmul! (copy (B),Q) == rmul! (copy (B),Q)
224
224
@test ArrayLayouts. rmul! (copy (B),Q' ) ≈ ArrayLayouts. rdiv! (copy (B),Q) ≈ rmul! (copy (B),Q' )
225
225
@test ArrayLayouts. ldiv! (F,copy (b)) ≈ ldiv! (F,copy (b)) # only approx since we use BLAS.trsv!
226
226
@test ArrayLayouts. ldiv! (F,copy (B)) ≈ ldiv! (F,copy (B)) # only approx since we use BLAS.trsv!
@@ -232,11 +232,11 @@ import ArrayLayouts: ApplyBroadcastStyle, QRCompactWYQLayout, QRCompactWYLayout,
232
232
B = T .(randn (10 ,10 ))
233
233
F = LinearAlgebra. qrfactUnblocked! (copy (A))
234
234
Q = F. Q
235
- @test all ( ArrayLayouts. lmul! (Q,copy (b)) == lmul! (Q,copy (b) ))
236
- @test all ( ArrayLayouts. lmul! (Q' ,copy (b)) == ArrayLayouts. ldiv! (Q,copy (b)) == lmul! (Q' ,copy (b) ))
237
- @test all ( ArrayLayouts. lmul! (Q,copy (B)) == lmul! (Q,copy (B) ))
238
- @test all ( ArrayLayouts. lmul! (Q' ,copy (B)) == ArrayLayouts. ldiv! (Q,copy (B)) == lmul! (Q' ,copy (B) ))
239
- @test all ( ArrayLayouts. rmul! (copy (B),Q) == rmul! (copy (B),Q) )
235
+ @test ArrayLayouts. lmul! (Q,copy (b)) == lmul! (Q,copy (b))
236
+ @test ArrayLayouts. lmul! (Q' ,copy (b)) == ArrayLayouts. ldiv! (Q,copy (b)) == lmul! (Q' ,copy (b))
237
+ @test ArrayLayouts. lmul! (Q,copy (B)) == lmul! (Q,copy (B))
238
+ @test ArrayLayouts. lmul! (Q' ,copy (B)) == ArrayLayouts. ldiv! (Q,copy (B)) == lmul! (Q' ,copy (B))
239
+ @test ArrayLayouts. rmul! (copy (B),Q) == rmul! (copy (B),Q)
240
240
@test ArrayLayouts. rmul! (copy (B),Q' ) ≈ ArrayLayouts. rdiv! (copy (B),Q) ≈ rmul! (copy (B),Q' )
241
241
242
242
@test_throws DimensionMismatch ArrayLayouts. ldiv! (F,copy (b))
0 commit comments