Commit 51923a5
authored
Forward structure-preserving broadcasting to diag for
For example, after this PR,
```julia
julia> D = Diagonal(1:4)
4×4 Diagonal{Int64, UnitRange{Int64}}:
1 ⋅ ⋅ ⋅
⋅ 2 ⋅ ⋅
⋅ ⋅ 3 ⋅
⋅ ⋅ ⋅ 4
julia> D .* 2
4×4 Diagonal{Int64, StepRangeLen{Int64, Int64, Int64, Int64}}:
2 ⋅ ⋅ ⋅
⋅ 4 ⋅ ⋅
⋅ ⋅ 6 ⋅
⋅ ⋅ ⋅ 8
julia> using SparseArrays
julia> D = Diagonal(spzeros(2))
2×2 Diagonal{Float64, SparseVector{Float64, Int64}}:
0.0 ⋅
⋅ 0.0
julia> D .* 2
2×2 Diagonal{Float64, SparseVector{Float64, Int64}}:
0.0 ⋅
⋅ 0.0
julia> using FillArrays
julia> D = Diagonal(Fill(3, 2))
2×2 Diagonal{Int64, Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}}:
3 ⋅
⋅ 3
julia> D .* 2
2×2 Diagonal{Int64, Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}}:
6 ⋅
⋅ 6
```
I've not handled the other banded matrix types in this PR, but
`Diagonal` is probably used far more commonly in packages anyway.Diagonal (#1423)1 parent 35a4427 commit 51923a5
2 files changed
+39
-7
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
230 | 230 | | |
231 | 231 | | |
232 | 232 | | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
233 | 257 | | |
234 | 258 | | |
235 | 259 | | |
| |||
291 | 315 | | |
292 | 316 | | |
293 | 317 | | |
294 | | - | |
295 | | - | |
296 | | - | |
297 | | - | |
298 | | - | |
299 | | - | |
300 | | - | |
301 | 318 | | |
302 | 319 | | |
303 | 320 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
410 | 410 | | |
411 | 411 | | |
412 | 412 | | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
413 | 428 | | |
0 commit comments