|
71 | 71 | similar{T}(S::SymTridiagonal, ::Type{T}) = SymTridiagonal{T}(similar(S.dv, T), similar(S.ev, T)) |
72 | 72 |
|
73 | 73 | #Elementary operations |
74 | | -for func in (:conj, :copy, :round, :trunc, :floor, :ceil, :abs, :real, :imag) |
| 74 | +broadcast(::typeof(imag), M::SymTridiagonal) = SymTridiagonal(imag.(M.dv), imag.(M.ev)) |
| 75 | +for func in (:conj, :copy, :round, :trunc, :floor, :ceil, :abs, :real) |
75 | 76 | @eval ($func)(M::SymTridiagonal) = SymTridiagonal(($func)(M.dv), ($func)(M.ev)) |
76 | 77 | end |
77 | 78 | for func in (:round, :trunc, :floor, :ceil) |
|
388 | 389 | copy!(dest::Tridiagonal, src::Tridiagonal) = Tridiagonal(copy!(dest.dl, src.dl), copy!(dest.d, src.d), copy!(dest.du, src.du), copy!(dest.du2, src.du2)) |
389 | 390 |
|
390 | 391 | #Elementary operations |
391 | | -for func in (:conj, :copy, :round, :trunc, :floor, :ceil, :abs, :real, :imag) |
| 392 | +broadcast(::typeof(imag), M::Tridiagonal) = Tridiagonal(imag.(M.dl), imag.(M.d), imag.(M.du), imag.(M.du2)) |
| 393 | +for func in (:conj, :copy, :round, :trunc, :floor, :ceil, :abs, :real) |
392 | 394 | @eval function ($func)(M::Tridiagonal) |
393 | 395 | Tridiagonal(($func)(M.dl), ($func)(M.d), ($func)(M.du), ($func)(M.du2)) |
394 | 396 | end |
|
0 commit comments