|
51 | 51 | A = rand(N, N)
|
52 | 52 | sA = A + copy(A')
|
53 | 53 | D = Diagonal(rand(N))
|
54 |
| - B = Bidiagonal(rand(N), rand(N - 1), :U) |
| 54 | + Bu = Bidiagonal(rand(N), rand(N - 1), :U) |
| 55 | + Bl = Bidiagonal(rand(N), rand(N - 1), :L) |
55 | 56 | T = Tridiagonal(rand(N - 1), rand(N), rand(N - 1))
|
| 57 | + ◣ = LowerTriangular(rand(N,N)) |
| 58 | + ◥ = UpperTriangular(rand(N,N)) |
| 59 | + |
56 | 60 | @test broadcast!(sin, copy(D), D) == Diagonal(sin.(D))
|
57 |
| - @test broadcast!(sin, copy(B), B) == Bidiagonal(sin.(B), :U) |
| 61 | + @test broadcast!(sin, copy(Bu), Bu) == Bidiagonal(sin.(Bu), :U) |
| 62 | + @test broadcast!(sin, copy(Bl), Bl) == Bidiagonal(sin.(Bl), :L) |
58 | 63 | @test broadcast!(sin, copy(T), T) == Tridiagonal(sin.(T))
|
| 64 | + @test broadcast!(sin, copy(◣), ◣) == LowerTriangular(sin.(◣)) |
| 65 | + @test broadcast!(sin, copy(◥), ◥) == UpperTriangular(sin.(◥)) |
59 | 66 | @test broadcast!(*, copy(D), D, A) == Diagonal(broadcast(*, D, A))
|
60 |
| - @test broadcast!(*, copy(B), B, A) == Bidiagonal(broadcast(*, B, A), :U) |
| 67 | + @test broadcast!(*, copy(Bu), Bu, A) == Bidiagonal(broadcast(*, Bu, A), :U) |
| 68 | + @test broadcast!(*, copy(Bl), Bl, A) == Bidiagonal(broadcast(*, Bl, A), :L) |
61 | 69 | @test broadcast!(*, copy(T), T, A) == Tridiagonal(broadcast(*, T, A))
|
| 70 | + @test broadcast!(*, copy(◣), ◣, A) == LowerTriangular(broadcast(*, ◣, A)) |
| 71 | + @test broadcast!(*, copy(◥), ◥, A) == UpperTriangular(broadcast(*, ◥, A)) |
| 72 | + |
| 73 | + @test_throws ArgumentError broadcast!(cos, copy(D), D) == Diagonal(sin.(D)) |
| 74 | + @test_throws ArgumentError broadcast!(cos, copy(Bu), Bu) == Bidiagonal(sin.(Bu), :U) |
| 75 | + @test_throws ArgumentError broadcast!(cos, copy(Bl), Bl) == Bidiagonal(sin.(Bl), :L) |
| 76 | + @test_throws ArgumentError broadcast!(cos, copy(T), T) == Tridiagonal(sin.(T)) |
| 77 | + @test_throws ArgumentError broadcast!(cos, copy(◣), ◣) == LowerTriangular(sin.(◣)) |
| 78 | + @test_throws ArgumentError broadcast!(cos, copy(◥), ◥) == UpperTriangular(sin.(◥)) |
| 79 | + @test_throws ArgumentError broadcast!(+, copy(D), D, A) == Diagonal(broadcast(*, D, A)) |
| 80 | + @test_throws ArgumentError broadcast!(+, copy(Bu), Bu, A) == Bidiagonal(broadcast(*, Bu, A), :U) |
| 81 | + @test_throws ArgumentError broadcast!(+, copy(Bl), Bl, A) == Bidiagonal(broadcast(*, Bl, A), :L) |
| 82 | + @test_throws ArgumentError broadcast!(+, copy(T), T, A) == Tridiagonal(broadcast(*, T, A)) |
| 83 | + @test_throws ArgumentError broadcast!(+, copy(◣), ◣, A) == LowerTriangular(broadcast(*, ◣, A)) |
| 84 | + @test_throws ArgumentError broadcast!(+, copy(◥), ◥, A) == UpperTriangular(broadcast(*, ◥, A)) |
62 | 85 | end
|
63 | 86 |
|
64 | 87 | @testset "map[!] over combinations of structured matrices" begin
|
|
0 commit comments